]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/editorial.itely
If page-count is set, don't try spacing on fewer pages than specified.
[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 @predefined
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>2 <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 @snippets
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 d
186 \hideNotes
187 e4 f
188 \unHideNotes
189 g a
190 \hideNotes 
191 b
192 \unHideNotes
193 c
194 @end lilypond
195
196 @predefined
197
198 @code{\hideNotes}, @code{\unHideNotes}
199
200 @seealso
201
202 Snippets: @lsrdir{Editorial,Editorial-annotations}.
203
204
205 @node Coloring objects
206 @subsubsection Coloring objects
207
208 @cindex colored objects
209 @cindex colors
210 @cindex coloring objects
211 @cindex colored notes
212 @cindex coloring notes
213 @cindex notes, colored
214
215 Individual objects may be assigned colors.  You may use the color
216 names listed in the @ref{List of colors}.
217
218 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
219 \override NoteHead #'color = #red
220 c4 c
221 \override NoteHead #'color = #(x11-color 'LimeGreen)
222 d
223 \override Stem #'color = #blue
224 e
225 @end lilypond
226
227 @cindex x11-color
228
229 The full range of colors defined for X11 can be accessed by using
230 the Scheme function @code{x11-color}.  The function takes one
231 argument; this can be a symbol in the form @var{'FooBar} or a
232 string in the form @var{"FooBar"}.  The first form is quicker to
233 write and is more efficient.  However, using the second form it is
234 possible to access X11 colors by the multi-word form of its name.
235
236 If @code{x11-color} cannot make sense of the parameter then the
237 color returned defaults to black. 
238
239 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
240 \override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)
241 \set Staff.instrumentName = \markup {
242   \with-color #(x11-color 'navy) "Clarinet"
243 }
244 gis4 a
245 \override Beam #'color = #(x11-color "medium turquoise")
246 gis a
247 \override Accidental #'color = #(x11-color 'DarkRed)
248 gis a
249 \override NoteHead #'color = #(x11-color "LimeGreen")
250 gis a
251
252 % this is deliberate nonsense; note that the stems remain black
253 \override Stem #'color = #(x11-color 'Boggle)
254 b2 cis
255 @end lilypond
256
257 You can get exact RGB colors by specifying the rgb-color number.
258
259 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
260 {
261   \override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)
262   \set Staff.instrumentName = \markup {
263     \with-color #(x11-color 'navy) "Clarinet"
264   }
265   \time 4/4
266
267   %black
268   \override Stem #'color = #(rgb-color 0 0 0)
269   c4
270   % white
271   \override Stem #'color = #(rgb-color 1 1 1)
272   d
273   % dark blue
274   \override Stem #'color = #(rgb-color 0 0 0.5) 
275   e
276 }
277 @end lilypond
278
279 @seealso
280
281 Notation Reference: @ref{List of colors}, @ref{Objects connected to
282 the input}.
283
284 Snippets: @lsrdir{Editorial,Editorial-annotations}.
285
286 @knownissues
287 An x11 color is not necessarily exactly the same shade as a
288 similarly named normal color.  
289
290 Not all x11 colors are distinguishable in a web browser i.e. a web browser
291 might not display a difference between 'LimeGreen and 'ForestGreen.  For 
292 web use normal colors are recommended (i.e. #blue, #green, #red).
293
294
295 Notes in a chord cannot be colored with @code{\override}; use
296 @code{\tweak} instead.  See @ref{Objects connected to the input},
297 for details.
298
299
300 @node Parentheses
301 @subsubsection Parentheses
302
303 @cindex ghost notes
304 @cindex notes, ghost
305 @cindex notes, parenthesized
306 @cindex parentheses
307
308 Objects may be parenthesized by prefixing @code{\parenthesize} to
309 the music event,
310
311 @lilypond[relative=2,fragment,verbatim,ragged-right]
312 <
313   c
314   \parenthesize d
315   g
316 >2-\parenthesize -.
317 d g 
318 <
319   c,
320   \parenthesize fis
321 >
322 @end lilypond
323
324 This only functions inside chords, to parenthesize a single note it 
325 must be enclosed with @code{<>} as if it is a chord.
326
327 @example
328 < \parenthesize NOTE>
329 @end example
330
331 @lilypond[relative=2,fragment,verbatim,ragged-right]
332 c4
333 <\parenthesize d>
334 g
335 <\parenthesize d>
336 @end lilypond
337
338 @seealso
339
340 Snippets: @lsrdir{Editorial,Editorial-annotations}.
341
342
343 @node Stems
344 @subsubsection Stems
345
346 @cindex stem
347
348 Whenever a note is found, a @code{Stem} object is created
349 automatically.  For whole notes and rests, they are also created but
350 made invisible.
351
352 @predefined
353
354 @funindex \stemUp
355 @code{\stemUp},
356 @funindex \stemDown
357 @code{\stemDown},
358 @funindex \stemNeutral
359 @code{\stemNeutral}.
360
361
362 @snippets
363
364 @cindex stem, direction
365 @cindex stem, up
366 @cindex stem, down
367 @cindex stem, neutral
368
369 To change the direction of stems on the center line of the staff, use
370
371 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
372 a4 b c b
373 \override Stem #'neutral-direction = #up
374 a4 b c b
375 \override Stem #'neutral-direction = #down
376 a4 b c b
377 @end lilypond
378
379 @seealso
380
381 Snippets: @lsrdir{Editorial,Editorial-annotations}.
382
383
384 @node Outside the staff
385 @subsection Outside the staff
386
387
388 @menu
389 * Balloon help::                
390 * Grid lines::                  
391 * Analysis brackets::           
392 @end menu
393
394 @node Balloon help
395 @subsubsection Balloon help
396
397 Elements of notation can be marked and named with the help of a
398 square balloon.  The primary purpose of this feature is to explain
399 notation.
400
401 The following example demonstrates its use.
402
403 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
404 \new Voice \with { \consists "Balloon_engraver" }
405      {
406       \time 2/4
407        \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
408        a'8
409        <c' g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } 
410 c''>4. 
411      }
412 @end lilypond
413
414 There are two music functions, @code{balloonGrobText} and
415 @code{balloonText};  The former is used like \once \override to 
416 attach text to any grob, and the latter is used like \tweak, 
417 typically within chords, to attach text to an individual note.
418
419 @cindex balloon
420 @cindex notation, explaining
421
422 @seealso
423
424 Snippets: @lsrdir{Editorial,Editorial-annotations}.
425
426 Internals Reference: @internalsref{text-balloon-interface}.
427
428
429 @node Grid lines
430 @subsubsection Grid lines
431
432 Vertical lines can be drawn between staves synchronized with the
433 notes.
434
435 @lilypond[ragged-right,quote,verbatim]
436 \layout {
437   \context {
438     \Staff
439     \consists "Grid_point_engraver" %% sets of grid
440     gridInterval = #(ly:make-moment 1 4)
441   }
442 }
443
444 \new Score \with {
445   \consists "Grid_line_span_engraver"
446   %% centers grid lines  horizontally below note heads
447   \override NoteColumn #'X-offset = #-0.5
448 }
449
450 \new ChoirStaff <<
451   \new Staff {
452     \stemUp
453     \relative {
454       c'4. d8 e8 f g4
455     }
456   }
457   \new Staff {
458     %% centers grid lines  vertically
459     \override Score.GridLine #'extra-offset = #'( 0.0 . 1.0 )
460     \stemDown
461     \clef bass
462     \relative c {
463       c4  g'  f  e
464     }
465   }
466 >>
467 @end lilypond
468
469 @seealso
470
471 Snippets: @lsrdir{Editorial,Editorial-annotations}.
472
473
474
475
476 @node Analysis brackets
477 @subsubsection Analysis brackets
478
479 @cindex brackets
480 @cindex phrasing brackets
481 @cindex musicological analysis
482 @cindex note grouping bracket
483
484 Brackets are used in musical analysis to indicate structure in musical
485 pieces.  LilyPond supports a simple form of nested horizontal
486 brackets.  To use this, add the @code{Horizontal_bracket_engraver} to
487 the @code{Staff} context.  A bracket is started with
488 @code{\startGroup} and closed with @code{\stopGroup}.
489
490 @lilypond[quote,ragged-right,verbatim]
491 \score {
492   \relative c'' {
493     c4\startGroup\startGroup
494     c4\stopGroup
495     c4\startGroup
496     c4\stopGroup\stopGroup
497   }
498   \layout {
499     \context {
500       \Staff \consists "Horizontal_bracket_engraver"
501     }
502   }
503 }
504 @end lilypond
505
506 @seealso
507
508 Snippets: @lsrdir{Editorial,Editorial-annotations}.
509
510 Internals Reference: @internalsref{HorizontalBracket},
511 @internalsref{Horizontal_bracket_engraver}, @internalsref{Staff}.
512