]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/editorial.itely
Begin using 3-value @lsr macros.
[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 @unnumberedsubsubsec 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=1,verbatim]
45 c8
46 \set fontSize = #-4
47 c f
48 \set fontSize = #3
49 g
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=1,verbatim]
69 c8
70 \override NoteHead #'font-size = #-4
71 c f
72 \override NoteHead #'font-size = #3
73 g
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}.
102
103 Internals Reference: @internalsref{font-interface}.
104
105
106 @node Fingering instructions
107 @unnumberedsubsubsec Fingering instructions
108
109 @cindex fingering
110 @cindex finger change
111
112 Fingering instructions can be entered using
113
114 @example
115 @var{note}-@var{digit}
116 @end example
117
118 For finger changes, use markup texts
119
120 @lilypond[quote,verbatim,ragged-right,fragment,relative=1]
121 c4-1 c-2 c-3 c-4
122 c^\markup { \finger "2 - 3" }
123 @end lilypond
124
125 @cindex thumb-script
126
127
128 You can use the thumb-script to indicate that a note should be
129 played with the thumb (e.g., in cello music)
130
131 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
132 <a_\thumb a'-3>8 <b_\thumb b'-3>
133 @end lilypond
134
135 @cindex fingering chords
136 @cindex chords, fingering
137
138 Fingerings for chords can also be added to individual notes of the
139 chord by adding them after the pitches
140
141 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
142 < c-1 e-2 g-3 b-5 >4
143 @end lilypond
144
145
146 @commonprop
147
148 You may exercise greater control over fingering chords by setting
149 @code{fingeringOrientations}
150
151 @lilypond[quote,verbatim,ragged-right,fragment,relative=1]
152 \set fingeringOrientations = #'(left down)
153 <c-1 es-2 g-4 bes-5 > 4
154 \set fingeringOrientations = #'(up right down)
155 <c-1 es-2 g-4 bes-5 > 4
156 @end lilypond
157
158 Using this feature, it is also possible to put fingering
159 instructions very close to note heads in monophonic music,
160
161 @lilypond[verbatim,ragged-right,quote,fragment]
162 \set fingeringOrientations = #'(right)
163 <es'-2>4
164 @end lilypond
165
166
167 @seealso
168
169 Snippets: @lsrdir{editorial}.
170
171 Internals Reference: @internalsref{Fingering}.
172
173 Examples: @c @lsr{expressive,fingering-chords.ly}
174
175
176
177 @node Hidden notes
178 @unnumberedsubsubsec Hidden notes
179
180 @cindex Hidden notes
181 @cindex Invisible notes
182 @cindex Transparent notes
183
184 @funindex \hideNotes
185 @funindex \unHideNotes
186
187 Hidden (or invisible or transparent) notes can be useful in
188 preparing theory or composition exercises.
189
190 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
191 c4 d4
192 \hideNotes
193 e4 f4
194 \unHideNotes
195 g4 a
196 @end lilypond
197
198
199 @node Coloring objects
200 @unnumberedsubsubsec Coloring objects
201
202 Individual objects may be assigned colors.  You may use the color
203 names listed in the @ref{List of colors}.
204
205 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
206 \override NoteHead #'color = #red
207 c4 c
208 \override NoteHead #'color = #(x11-color 'LimeGreen)
209 d
210 \override Stem #'color = #blue
211 e
212 @end lilypond
213
214 The full range of colors defined for X11 can be accessed by using
215 the Scheme function x11-color.  The function takes one argument
216 that can be a symbol
217
218 @example
219 \override Beam #'color = #(x11-color 'MediumTurquoise)
220 @end example
221
222 or a string
223
224 @example
225 \override Beam #'color = #(x11-color "MediumTurquoise")
226 @end example
227
228 The first form is quicker to write and is more efficient.
229 However, using the second form it is possible to access X11 colors
230 by the multi-word form of its name
231
232 @example
233 \override Beam #'color = #(x11-color "medium turquoise")
234 @end example
235
236 If x11-color cannot make sense of the parameter then the color
237 returned defaults to black.  It should be obvious from the final
238 score that something is wrong.
239
240 This example illustrates the use of x11-color.  Notice that the
241 stem color remains black after being set to (x11-color 'Boggle),
242 which is deliberate nonsense.
243
244 @lilypond[quote,ragged-right,verbatim]
245 {
246   \override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)
247   \set Staff.instrumentName = \markup {
248     \with-color #(x11-color 'navy) "Clarinet"
249   }
250   \time 2/4
251   gis''8 a''
252   \override Beam #'color = #(x11-color "medium turquoise")
253   gis'' a''
254   \override NoteHead #'color = #(x11-color "LimeGreen")
255   gis'' a''
256   \override Stem #'color = #(x11-color 'Boggle)
257   gis'' a''
258 }
259 @end lilypond
260
261
262 TODO
263 you can get exact RGB colors by specifying
264
265 % black
266 \override Stem #'color = #(rgb-color 0 0 0)
267 % white
268 \override Stem #'color = #(rgb-color 1 1 1)
269 % dark blue
270 \override Stem #'color = #(rgb-color 0 0 0.5) 
271
272
273 @seealso
274
275 Appendix: @ref{List of colors}.
276
277
278 @refbugs
279 Not all x11 colors are distinguishable in a web browser.  For web
280 use normal colors are recommended.
281
282 An x11 color is not necessarily exactly the same shade as a
283 similarly named normal color.
284
285 Notes in a chord cannot be colored with @code{\override}; use
286 @code{\tweak} instead.  See @ref{Objects connected to the input},
287 for details.
288
289
290 @node Parentheses
291 @unnumberedsubsubsec Parentheses
292
293 @cindex ghost notes
294 @cindex notes, ghost
295 @cindex notes, parenthesized
296
297 Objects may be parenthesized by prefixing @code{\parenthesize} to
298 the music event,
299
300 @lilypond[relative=2,fragment,verbatim,ragged-right]
301 <
302   c
303   \parenthesize d
304   g
305 >4-\parenthesize -.
306 @end lilypond
307
308 This only functions inside chords, to parenthesize a single note it 
309 must be enclosed with @code{<>} as if it is a chord.
310
311 @example
312 < \parenthesize NOTE>
313 @end example
314
315
316 @node Stems
317 @unnumberedsubsubsec Stems
318
319 Whenever a note is found, a @internalsref{Stem} object is created
320 automatically.  For whole notes and rests, they are also created
321 but made invisible.
322
323 @refcommands
324
325 @funindex \stemUp
326 @code{\stemUp},
327 @funindex \stemDown
328 @code{\stemDown},
329 @funindex \stemNeutral
330 @code{\stemNeutral}.
331
332
333 @commonprop
334
335 To change the direction of stems on the center line of the staff, use
336
337 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
338 a4 b c b
339 \override Stem #'neutral-direction = #up
340 a4 b c b
341 \override Stem #'neutral-direction = #down
342 a4 b c b
343 @end lilypond
344
345
346 @node Outside the staff
347 @subsection Outside the staff
348
349
350 @menu
351 * Balloon help::                
352 * Grid lines::                  
353 * Blank music sheet::           
354 * Analysis brackets::           
355 @end menu
356
357 @node Balloon help
358 @unnumberedsubsubsec Balloon help
359
360 Elements of notation can be marked and named with the help of a
361 square balloon.  The primary purpose of this feature is to explain
362 notation.
363
364 The following example demonstrates its use.
365
366 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
367 \new Voice \with { \consists "Balloon_engraver" }
368 {
369   \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
370   <f-\balloonText #'(-2 . -2) \markup { "I'm a note head" }  >8
371 }
372 @end lilypond
373
374 @noindent
375 There are two music functions, @code{balloonText} and
376 @code{balloonGrobText}.  The latter takes the name of the grob to
377 adorn, while the former may be used as an articulation on a note.
378 The other arguments  are the offset and the text of the label.
379
380 @cindex balloon
381 @cindex notation, explaining
382
383 @seealso
384
385 Internals Reference: @internalsref{text-balloon-interface}.
386
387
388 @node Grid lines
389 @unnumberedsubsubsec Grid lines
390
391 Vertical lines can be drawn between staves synchronized with the
392 notes.
393
394 @lilypond[ragged-right,quote,verbatim]
395 \layout {
396   \context {
397     \Staff
398     \consists "Grid_point_engraver" %% sets of grid
399     gridInterval = #(ly:make-moment 1 4)
400   }
401 }
402
403 \new Score \with {
404   \consists "Grid_line_span_engraver"
405   %% centers grid lines  horizontally below note heads
406   \override NoteColumn #'X-offset = #-0.5
407 }
408
409 \new ChoirStaff <<
410   \new Staff {
411     \stemUp
412     \relative {
413       c'4. d8 e8 f g4
414     }
415   }
416   \new Staff {
417     %% centers grid lines  vertically
418     \override Score.GridLine #'extra-offset = #'( 0.0 . 1.0 )
419     \stemDown
420     \clef bass
421     \relative c {
422       c4  g'  f  e
423     }
424   }
425 >>
426 @end lilypond
427
428 Examples: @lsrdir{education}
429
430
431 @node Blank music sheet
432 @unnumberedsubsubsec Blank music sheet
433
434 @cindex Sheet music, empty
435 @cindex Staves, blank sheet
436
437 A blank music sheet can be produced also by using invisible notes,
438 and removing @code{Bar_number_engraver}.
439
440
441 @lilypond[quote,verbatim]
442 \layout{ indent = #0 }
443 emptymusic = {
444   \repeat unfold 2 % Change this for more lines.
445   { s1\break }
446   \bar "|."
447 }
448 \new Score \with {
449   \override TimeSignature #'transparent = ##t
450 % un-comment this line if desired
451 %  \override Clef #'transparent = ##t
452   defaultBarType = #""
453   \remove Bar_number_engraver
454 } <<
455
456 % modify these to get the staves you want
457   \new Staff \emptymusic
458   \new TabStaff \emptymusic
459 >>
460 @end lilypond
461
462
463 @node Analysis brackets
464 @unnumberedsubsubsec Analysis brackets
465
466 @cindex brackets
467 @cindex phrasing brackets
468 @cindex musicological analysis
469 @cindex note grouping bracket
470
471 Brackets are used in musical analysis to indicate structure in
472 musical pieces.  LilyPond supports a simple form of nested
473 horizontal brackets.  To use this, add the
474 @internalsref{Horizontal_bracket_engraver} to the
475 @internalsref{Staff} context.  A bracket is started with
476 @code{\startGroup} and closed with @code{\stopGroup}.
477
478 @lilypond[quote,ragged-right,verbatim]
479 \score {
480   \relative c'' {
481     c4\startGroup\startGroup
482     c4\stopGroup
483     c4\startGroup
484     c4\stopGroup\stopGroup
485   }
486   \layout {
487     \context {
488       \Staff \consists "Horizontal_bracket_engraver"
489 }}}
490 @end lilypond
491
492 @seealso
493
494 Internals Reference: @internalsref{HorizontalBracket}.
495
496