]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/editorial.itely
Update from Jay.
[lilypond.git] / Documentation / user / editorial.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  See TRANSLATION for details.
7 @end ignore
8
9 @node Editorial annotations
10 @section Editorial annotations
11
12 @lilypondfile[ragged-right,line-width=16\cm,staffsize=16,quote]
13 {editorial-headword.ly}
14
15 @menu
16 * Inside the staff::            
17 * Outside the staff::           
18 @end menu
19
20
21 @node Inside the staff
22 @subsection Inside the staff
23
24
25 @menu
26 * Selecting notation font size::  
27 * Fingering instructions::      
28 * Hidden notes::                
29 * Coloring objects::            
30 * Parentheses::                 
31 * Stems::                       
32 @end menu
33
34 @node Selecting notation font size
35 @subsubsection Selecting notation font size
36
37 @cindex font size
38 @cindex font size, selecting
39 @cindex selecting font size
40
41 The easiest method of setting the font size of any context is by
42 setting the @code{fontSize} property.
43
44 @lilypond[quote,fragment,relative=2,verbatim,ragged-right]
45 c4
46 \set fontSize = #-4
47 c f
48 \set fontSize = #3
49 g8 a
50 @end lilypond
51
52 @noindent
53 It does not change the size of variable symbols, such as beams or
54 slurs.
55
56 @cindex font size scaling
57
58 Internally, the @code{fontSize} context property will cause the
59 @code{font-size} property to be set in all layout objects.  The
60 value of @code{font-size} is a number indicating the size relative
61 to the standard size for the current staff height.  Each step up
62 is an increase of approximately 12% of the font size.  Six steps
63 is exactly a factor two.  The Scheme function @code{magstep}
64 converts a @code{font-size} number to a scaling factor.  The
65 @code{font-size} property can also be set directly, so that only
66 certain layout objects are affected.
67
68 @lilypond[quote,fragment,relative=2,verbatim,ragged-right]
69 c4
70 \override NoteHead #'font-size = #-4
71 c f
72 \override NoteHead #'font-size = #3
73 g8 a
74 @end lilypond
75
76 @cindex standard font size
77 @cindex font size, standard
78
79 Font size changes are achieved by scaling the design size that is
80 closest to the desired size.  The standard font size (for
81 @code{font-size} equals 0), depends on the standard staff height.
82 For a 20pt staff, a 10pt font is selected.
83
84 The @code{font-size} property can only be set on layout objects that
85 use fonts.  These are the ones supporting the @code{font-interface}
86 layout interface.
87
88 @refcommands
89
90 The following commands set @code{fontSize} for the current voice:
91
92 @funindex \tiny
93 @code{\tiny},
94 @funindex \small
95 @code{\small},
96 @funindex \normalsize
97 @code{\normalsize}.
98
99 @seealso
100
101 Snippets: @lsrdir{Editorial,Editorial-annotations}.
102
103 Internals Reference: @internalsref{font-interface}.
104
105
106 @node Fingering instructions
107 @subsubsection Fingering instructions
108
109 @cindex fingering
110 @cindex finger change
111
112 Fingering instructions can be entered using
113 @var{note}-@var{digit}:
114
115 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
116 c4-1 d-2 f-4 e-3
117 @end lilypond
118
119 Use markup texts for finger changes. 
120
121 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
122 c4-1 d-2 f-4 c^\markup { \finger "2 - 3" }
123 @end lilypond
124
125 @cindex thumb-script
126
127 You can use the thumb-script (e.g., in cello music)to indicate that a 
128 note should be played with the thumb. 
129
130 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
131 <a_\thumb a'-3>8 <b_\thumb b'-3>
132 @end lilypond
133
134 @cindex fingering chords
135 @cindex chords, fingering
136
137 Fingerings for chords can also be added to individual notes of the
138 chord by adding them after the pitches.
139
140 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
141 < c-1 e-2 g-3 b-5 >2 < d-1 f-2 a-3 c-5 >
142 @end lilypond
143
144
145 @commonprop
146
147 @code{fingeringOrientations} are used to control where the fingering
148 numbers are placed.
149
150 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
151 \set fingeringOrientations = #'(left)
152 <c-1 e-3 a-5 > 4
153 \set fingeringOrientations = #'(down)
154 <c-1 e-3 a-5 > 
155 \set fingeringOrientations = #'(right)
156 <c-1 e-3 a-5 > 
157 \set fingeringOrientations = #'(up)
158 <c-1 e-3 a-5 > 
159 \set fingeringOrientations = #'(left down)
160 <c-1 e-3 a-5 > 2
161 \set fingeringOrientations = #'(up right down)
162 <c-1 e-3 a-5 >
163 @end lilypond
164
165 @seealso
166
167 Snippets: @lsrdir{Editorial,Editorial-annotations}.
168
169 Internals Reference: @internalsref{Fingering}.
170
171
172 @node Hidden notes
173 @subsubsection Hidden notes
174
175 @cindex Hidden notes
176 @cindex Invisible notes
177 @cindex Transparent notes
178 @funindex \hideNotes
179 @funindex \unHideNotes
180
181 Hidden (or invisible or transparent) notes can be useful in
182 preparing theory or composition exercises.
183
184 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
185 c4 d4
186 \hideNotes
187 e4 f4
188 \unHideNotes
189 g4 a
190 \hideNotes 
191 b
192 \unHideNotes
193 c
194 @end lilypond
195
196 @seealso
197
198 Snippets: @lsrdir{Editorial,Editorial-annotations}.
199
200
201 @node Coloring objects
202 @subsubsection Coloring objects
203
204 @cindex colored objects
205 @cindex colors
206 @cindex coloring objects
207 @cindex colored notes
208 @cindex coloring notes
209 @cindex notes, colored
210
211 Individual objects may be assigned colors.  You may use the color
212 names listed in the @ref{List of colors}.
213
214 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
215 \override NoteHead #'color = #red
216 c4 c
217 \override NoteHead #'color = #(x11-color 'LimeGreen)
218 d
219 \override Stem #'color = #blue
220 e
221 @end lilypond
222
223 @cindex x11-color
224
225 The full range of colors defined for X11 can be accessed by using
226 the Scheme function x11-color.  The function takes one argument
227 that can be a symbol
228
229 @example
230 \override Beam #'color = #(x11-color 'MediumTurquoise)
231 @end example
232
233 or a string
234
235 @example
236 \override Beam #'color = #(x11-color "MediumTurquoise")
237 @end example
238
239 The first form is quicker to write and is more efficient.
240 However, using the second form it is possible to access X11 colors
241 by the multi-word form of its name
242
243 @example
244 \override Beam #'color = #(x11-color "medium turquoise")
245 @end example
246
247 If x11-color cannot make sense of the parameter then the color
248 returned defaults to black.  It should be obvious from the final
249 score that something is wrong.
250
251 This example illustrates the use of x11-color.  Notice that the
252 stem color remains black after being set to (x11-color 'Boggle),
253 which is deliberate nonsense.
254
255 @lilypond[quote,ragged-right,verbatim]
256 {
257   \override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)
258   \set Staff.instrumentName = \markup {
259     \with-color #(x11-color 'navy) "Clarinet"
260   }
261   \time 2/4
262   gis''8 a''
263   \override Beam #'color = #(x11-color "medium turquoise")
264   gis'' a''
265   \override NoteHead #'color = #(x11-color "LimeGreen")
266   gis'' a''
267   \override Stem #'color = #(x11-color 'Boggle)
268   gis'' a''
269 }
270 @end lilypond
271
272 You can get exact RGB colors by specifying the rgb-color number.
273
274 @lilypond[quote,ragged-right,verbatim]
275 {
276   \override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)
277   \set Staff.instrumentName = \markup {
278     \with-color #(x11-color 'navy) "Clarinet"
279   }
280   \time 4/4
281
282   %black
283   \override Stem #'color = #(rgb-color 0 0 0)
284   c4
285   % white
286   \override Stem #'color = #(rgb-color 1 1 1)
287   d
288   % dark blue
289   \override Stem #'color = #(rgb-color 0 0 0.5) 
290   e
291 }
292 @end lilypond
293
294 @seealso
295
296 Notation Reference: @ref{List of colors}, @ref{Objects connected to
297 the input}.
298
299 Snippets: @lsrdir{Editorial,Editorial-annotations}.
300
301 @refbugs
302 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. (#blue, #green, #red) TODOgp
303
304 An x11 color is not necessarily exactly the same shade as a
305 similarly named normal color.
306
307 Notes in a chord cannot be colored with @code{\override}; use
308 @code{\tweak} instead.  See @ref{Objects connected to the input},
309 for details.
310
311
312 @node Parentheses
313 @subsubsection Parentheses
314
315 @cindex ghost notes
316 @cindex notes, ghost
317 @cindex notes, parenthesized
318 @cindex parentheses
319
320 Objects may be parenthesized by prefixing @code{\parenthesize} to
321 the music event,
322
323 @lilypond[relative=2,fragment,verbatim,ragged-right]
324 <
325   c
326   \parenthesize d
327   g
328 >4-\parenthesize -.
329 d g 
330 < c
331 \parenthesize fis
332 >
333 @end lilypond
334
335 This only functions inside chords, to parenthesize a single note it 
336 must be enclosed with @code{<>} as if it is a chord.
337
338 @example
339 < \parenthesize NOTE>
340 @end example
341
342 @lilypond[relative=2,fragment,verbatim,ragged-right]
343 c4
344 <\parenthesize d>
345 g
346 <\parenthesize d>
347 @end lilypond
348
349 @seealso
350
351 Snippets: @lsrdir{Editorial,Editorial-annotations}.
352
353
354 @node Stems
355 @subsubsection Stems
356
357 @cindex stem
358
359 Whenever a note is found, a @code{Stem} object is created
360 automatically.  For whole notes and rests, they are also created but
361 made invisible.
362
363 @refcommands
364
365 @funindex \stemUp
366 @code{\stemUp},
367 @funindex \stemDown
368 @code{\stemDown},
369 @funindex \stemNeutral
370 @code{\stemNeutral}.
371
372
373 @commonprop
374
375 @cindex stem, direction
376 @cindex stem, up
377 @cindex stem, down
378 @cindex stem, neutral
379
380 To change the direction of stems on the center line of the staff, use
381
382 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
383 a4 b c b
384 \override Stem #'neutral-direction = #up
385 a4 b c b
386 \override Stem #'neutral-direction = #down
387 a4 b c b
388 @end lilypond
389
390 @seealso
391
392 Snippets: @lsrdir{Editorial,Editorial-annotations}.
393
394
395 @node Outside the staff
396 @subsection Outside the staff
397
398
399 @menu
400 * Balloon help::                
401 * Grid lines::                  
402 * Analysis brackets::           
403 @end menu
404
405 @node Balloon help
406 @subsubsection Balloon help
407
408 Elements of notation can be marked and named with the help of a
409 square balloon.  The primary purpose of this feature is to explain
410 notation.
411
412 The following example demonstrates its use.
413
414 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
415 \new Voice \with { \consists "Balloon_engraver" }
416 {
417   \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
418   <f-\balloonText #'(-2 . -2) \markup { "I'm a note head" }  >8
419 }
420 @end lilypond
421
422 There are two music functions, @code{balloonGrobText} and
423 @code{balloonText}; the former takes the name of the grob to adorn,
424 while the latter may be used as an articulation on a note.  The other
425 arguments are the offset and the text of the label.
426
427 @cindex balloon
428 @cindex notation, explaining
429
430 @seealso
431
432 Snippets: @lsrdir{Editorial,Editorial-annotations}.
433
434 Internals Reference: @internalsref{text-balloon-interface}.
435
436
437 @node Grid lines
438 @subsubsection Grid lines
439
440 Vertical lines can be drawn between staves synchronized with the
441 notes.
442
443 @lilypond[ragged-right,quote,verbatim]
444 \layout {
445   \context {
446     \Staff
447     \consists "Grid_point_engraver" %% sets of grid
448     gridInterval = #(ly:make-moment 1 4)
449   }
450 }
451
452 \new Score \with {
453   \consists "Grid_line_span_engraver"
454   %% centers grid lines  horizontally below note heads
455   \override NoteColumn #'X-offset = #-0.5
456 }
457
458 \new ChoirStaff <<
459   \new Staff {
460     \stemUp
461     \relative {
462       c'4. d8 e8 f g4
463     }
464   }
465   \new Staff {
466     %% centers grid lines  vertically
467     \override Score.GridLine #'extra-offset = #'( 0.0 . 1.0 )
468     \stemDown
469     \clef bass
470     \relative c {
471       c4  g'  f  e
472     }
473   }
474 >>
475 @end lilypond
476
477 @seealso
478
479 Snippets: @lsrdir{Editorial,Editorial-annotations}.
480
481
482
483
484 @node Analysis brackets
485 @subsubsection Analysis brackets
486
487 @cindex brackets
488 @cindex phrasing brackets
489 @cindex musicological analysis
490 @cindex note grouping bracket
491
492 Brackets are used in musical analysis to indicate structure in musical
493 pieces.  LilyPond supports a simple form of nested horizontal
494 brackets.  To use this, add the @code{Horizontal_bracket_engraver} to
495 the @code{Staff} context.  A bracket is started with
496 @code{\startGroup} and closed with @code{\stopGroup}.
497
498 @lilypond[quote,ragged-right,verbatim]
499 \score {
500   \relative c'' {
501     c4\startGroup\startGroup
502     c4\stopGroup
503     c4\startGroup
504     c4\stopGroup\stopGroup
505   }
506   \layout {
507     \context {
508       \Staff \consists "Horizontal_bracket_engraver"
509 }}}
510 @end lilypond
511
512 @seealso
513
514 Snippets: @lsrdir{Editorial,Editorial-annotations}.
515
516 Internals Reference: @internalsref{HorizontalBracket},
517 @internalsref{Horizontal_bracket_engraver}, @internalsref{Staff}.
518