]> git.donarmstrong.com Git - lilypond.git/blob - ly/engraver-init.ly
Add padding between Lyrics and the following staff.
[lilypond.git] / ly / engraver-init.ly
1 \version "2.12.0"
2
3 \context {
4   \name "Global"
5
6   \accepts "Score"
7
8   \defaultchild "Score"
9   \description "Hard coded entry point for LilyPond.  Cannot be tuned."
10   \grobdescriptions #all-grob-descriptions
11 }
12
13 \context {
14   \type "Engraver_group"
15   \name "FretBoards"
16   \description "A context for displaying fret diagrams."
17
18   \consists "Fretboard_engraver"
19   \consists "Rest_swallow_translator"
20   \consists "Output_property_engraver"
21   \consists "Skip_event_swallow_translator"
22   \consists "Hara_kiri_engraver"
23   \consists "Separating_line_group_engraver"
24   \consists "Font_size_engraver"
25   \consists "Instrument_name_engraver"
26
27   predefinedDiagramTable = #fretboard-table
28 }
29
30 \context {
31   \type "Engraver_group"
32   \name "Staff"
33
34   \consists "Output_property_engraver"
35   \consists "Bar_engraver"
36   %% Bar_engraver must be first so default bars aren't overwritten
37   %% with empty ones.
38
39   \consists "Font_size_engraver"
40   \consists "Separating_line_group_engraver"
41   \consists "Dot_column_engraver"
42   \consists "Staff_collecting_engraver"
43
44  %% perhaps move to Voice context?
45   \consists "Ottava_spanner_engraver"
46   \consists "Clef_engraver"
47   \consists "Key_engraver"
48   \consists "Time_signature_engraver"
49   \consists "Ledger_line_engraver"
50   \consists "Staff_symbol_engraver"
51   \consists "Collision_engraver"
52   \consists "Grob_pq_engraver"
53   \consists "Rest_collision_engraver"
54   \consists "Accidental_engraver"
55   \consists "Piano_pedal_engraver"
56   \consists "Piano_pedal_align_engraver"
57   \consists "Instrument_name_engraver"
58   \consists "String_number_engraver"
59   \consists "Axis_group_engraver"
60   \consists "Figured_bass_engraver"
61   \consists "Figured_bass_position_engraver"
62   \consists "Script_row_engraver"
63
64   localKeySignature = #'()
65   createSpacing = ##t
66   ignoreFiguredBassRest = ##t
67
68   %% explicitly set instrument, so we don't get
69   %% weird effects when doing instrument names for
70   %% piano staves
71
72   instrumentName = #'()
73   shortInstrumentName = #'()
74
75   \defaultchild "Voice"
76   \accepts "Voice"
77   \accepts "CueVoice"
78
79   \description "Handles clefs, bar lines, keys, accidentals.  It can contain
80 @code{Voice} contexts."
81
82 }
83
84 \context {
85   \Staff
86   \type "Engraver_group"
87   \name "DrumStaff"
88   \alias "Staff"
89
90   \remove "Accidental_engraver"
91   \remove "Ottava_spanner_engraver"
92   \remove "Key_engraver"
93   \remove "Piano_pedal_engraver"
94   \remove "String_number_engraver"
95
96   \description "Handles typesetting for percussion."
97
98   \denies "Voice"
99   \accepts "DrumVoice"
100   \defaultchild "DrumVoice"
101
102   clefGlyph = #"clefs.percussion"
103   clefPosition = #0
104   \override Script #'staff-padding = #0.75
105 }
106
107
108 \context {
109   \type "Engraver_group"
110   \name "ChoirStaff"
111   \consists "Vertical_align_engraver"
112   topLevelAlignment = ##f
113
114   \consists "System_start_delimiter_engraver"
115   systemStartDelimiter = #'SystemStartBracket
116   vocalName = #'()
117   shortVocalName = #'()
118
119   \accepts "Staff"
120   \accepts "DrumStaff"
121   \accepts "RhythmicStaff"
122   \accepts "GrandStaff"
123   \accepts "PianoStaff"
124   \accepts "Lyrics"
125   \accepts "ChordNames"
126   \accepts "ChoirStaff"
127   \accepts "StaffGroup"
128   \defaultchild "Staff"
129   \description "Identical to @code{StaffGroup} except that the
130 contained staves are not connected vertically."
131 }
132
133 \context{
134   \type "Engraver_group"
135
136   localKeySignature = #'()
137   createSpacing = ##t
138
139   squashedPosition = #0
140   \name RhythmicStaff
141   \alias "Staff"
142
143   \override BarLine #'bar-size = #4
144   \override VoltaBracket #'staff-padding = #3
145   \override StaffSymbol #'line-count = #1
146
147   \override Stem  #'neutral-direction = #UP
148   \override Beam  #'neutral-direction = #UP
149
150   \consists "Output_property_engraver"
151   \consists "Font_size_engraver"
152   \consists "Separating_line_group_engraver"
153   \consists "Dot_column_engraver"
154   \consists "Bar_engraver"
155   \consists "Staff_symbol_engraver"
156   \consists "Pitch_squash_engraver"
157   \consists "Time_signature_engraver"
158   \consists "Instrument_name_engraver"
159   \consists "Axis_group_engraver"
160   \consists "Ledger_line_engraver"
161
162   \accepts "Voice"
163   \accepts "CueVoice"
164   \defaultchild "Voice"
165
166   \description "A context like @code{Staff} but for printing rhythms.
167 Pitches are ignored; the notes are printed on one line."
168 }
169
170
171 \context {
172   \type "Engraver_group"
173   \name "Voice"
174
175   \description "Corresponds to a voice on a staff.  This context
176 handles the conversion of dynamic signs, stems, beams, super- and
177 subscripts, slurs, ties, and rests.
178
179 You have to instantiate this explicitly if you want to have
180 multiple voices on the same staff."
181
182   localKeySignature = #'()
183   \consists "Font_size_engraver"
184
185   \consists "Pitched_trill_engraver"
186   \consists "Output_property_engraver"
187   \consists "Arpeggio_engraver"
188   \consists "Multi_measure_rest_engraver"
189   \consists "Text_spanner_engraver"
190   \consists "Trill_spanner_engraver"
191   \consists "Grob_pq_engraver"
192   \consists "Forbid_line_break_engraver"
193   \consists "Laissez_vibrer_engraver"
194   \consists "Repeat_tie_engraver"
195   \consists "Note_head_line_engraver"
196   \consists "Glissando_engraver"
197   \consists "Ligature_bracket_engraver"
198   \consists "Breathing_sign_engraver"
199   \consists "Note_heads_engraver"
200   \consists "Dots_engraver"
201   \consists "Rest_engraver"
202   \consists "Tweak_engraver"
203
204   %% switch on to make stem directions interpolate for the
205   %% center line.
206   %  \consists "Melody_engraver"
207
208   \consists "Stem_engraver"
209   \consists "Beam_engraver"
210   \consists "Grace_beam_engraver"
211   \consists "Auto_beam_engraver"
212
213   %% must come before Script_column_engraver.
214   \consists "New_fingering_engraver"
215
216   \consists "Chord_tremolo_engraver"
217   \consists "Percent_repeat_engraver"
218   \consists "Slash_repeat_engraver"
219   \consists "Part_combine_engraver"
220
221   \consists "Text_engraver"
222   \consists "New_dynamic_engraver"
223   \consists "Dynamic_align_engraver"
224 %  \consists "Dynamic_engraver"
225   \consists "Fingering_engraver"
226   \consists "Bend_engraver"
227
228   \consists "Script_engraver"
229   \consists "Script_column_engraver"
230   \consists "Rhythmic_column_engraver"
231   \consists "Note_spacing_engraver"
232   \consists "Spanner_break_forbid_engraver"
233   \consists "Phrasing_slur_engraver"
234   \consists "Cluster_spanner_engraver"
235   \consists "Slur_engraver"
236   \consists "Tie_engraver"
237   \consists "Tuplet_engraver"
238   \consists "Grace_engraver"
239   \consists "Instrument_switch_engraver"
240   \consists "Skip_event_swallow_translator"
241 }
242
243 \context{
244   \Voice
245
246   \name CueVoice
247   \alias Voice
248   fontSize = #-4
249   \override Stem #'length-fraction = #(magstep -4)
250   \override Beam #'length-fraction = #(magstep -4)
251   \override Beam #'beam-thickness = #0.35
252 }
253
254 \context {
255   \Voice
256   \name DrumVoice
257   \alias Voice
258
259   \description "A voice on a percussion staff."
260   \remove "Arpeggio_engraver"
261   \consists "Grob_pq_engraver"
262
263   \remove "Note_head_line_engraver"
264   \remove "Glissando_engraver"
265   \remove "Ligature_bracket_engraver"
266   \remove "Note_heads_engraver"
267   \consists "Drum_notes_engraver"
268   \remove "New_fingering_engraver"
269
270   \remove "Fingering_engraver"
271
272   \remove "Cluster_spanner_engraver"
273
274   \consists "Skip_event_swallow_translator"
275 }
276
277 \context{
278   \type "Engraver_group"
279   \name GrandStaff
280   localKeySignature = #'()
281
282   \description "A group of staves, with a brace on the left
283 side, grouping the staves together.  The bar lines of the
284 contained staves are connected vertically."
285
286   \consists "Span_bar_engraver"
287   \consists "Span_arpeggio_engraver"
288   \consists "System_start_delimiter_engraver"
289   systemStartDelimiter = #'SystemStartBrace
290
291   \defaultchild "Staff"
292   \accepts "Staff"
293   \accepts "FiguredBass"
294   \accepts "Dynamics"
295 }
296
297 \context{
298   \GrandStaff
299   \name "PianoStaff"
300   \alias "GrandStaff"
301
302   \description "Just like @code{GrandStaff} but with support for
303 instrument names at the start of each system."
304
305   \consists "Instrument_name_engraver"
306   \consists "Vertical_align_engraver"
307   topLevelAlignment = ##f
308
309   \override StaffGrouper #'between-staff-spacing #'stretchability = #5
310   
311   instrumentName = #'()
312   shortInstrumentName = #'()
313 }
314
315 \context {
316   \type "Engraver_group"
317   \name "StaffGroup"
318
319   \consists "Vertical_align_engraver"
320   topLevelAlignment = ##f
321
322   \consists "Span_bar_engraver"
323   \consists "Span_arpeggio_engraver"
324   \consists "Output_property_engraver"
325   systemStartDelimiter = #'SystemStartBracket
326
327   \consists "System_start_delimiter_engraver"
328
329   \defaultchild "Staff"
330   \accepts "Staff"
331   \accepts "RhythmicStaff"
332   \accepts "DrumStaff"
333   \accepts "GrandStaff"
334   \accepts "PianoStaff"
335   \accepts "TabStaff"
336   \accepts "Lyrics"
337   \accepts "ChordNames"
338   \accepts "FiguredBass"
339   \accepts "ChoirStaff"
340   \accepts "StaffGroup"
341
342   \description "Groups staves while adding a bracket on the left
343 side, grouping the staves together.  The bar lines of the contained
344 staves are connected vertically.  @code{StaffGroup} only consists of
345 a collection of staves, with a bracket in front and spanning bar lines."
346 }
347
348 \context {
349   \type "Engraver_group"
350   \name Dynamics
351   \alias Voice
352   \consists "Output_property_engraver"
353   \consists "Piano_pedal_engraver"
354   \consists "Script_engraver"
355   \consists "New_dynamic_engraver"
356   \consists "Dynamic_align_engraver"
357   \consists "Text_engraver"
358   \consists "Skip_event_swallow_translator"
359   \consists "Axis_group_engraver"
360
361   pedalSustainStrings = #'("Ped." "*Ped." "*")
362   pedalUnaCordaStrings = #'("una corda" "" "tre corde")
363   \override VerticalAxisGroup #'staff-affinity = #CENTER
364   \override VerticalAxisGroup #'inter-staff-spacing = #'((space . 5) (padding . 0.5))
365   \override TextScript #'font-shape = #'italic
366
367   \description "Holds a single line of dynamics, which will be
368 centered between the staves surrounding this context."
369 }
370
371
372 \context{
373   \type "Engraver_group"
374
375   \description "Corresponds to a voice with lyrics.  Handles the
376 printing of a single line of lyrics."
377
378   \name "Lyrics"
379   instrumentName = #'()
380   shortInstrumentName = #'()
381
382   \consists "Lyric_engraver"
383   \consists "Extender_engraver"
384   \consists "Hyphen_engraver"
385   \consists "Stanza_number_engraver"
386   \consists "Instrument_name_engraver"
387   \consists "Skip_event_swallow_translator"
388   \consists "Font_size_engraver"
389   \consists "Hara_kiri_engraver"
390
391   \override VerticalAxisGroup #'remove-first = ##t
392   \override VerticalAxisGroup #'remove-empty = ##t
393   \override VerticalAxisGroup #'staff-affinity = #UP
394   \override VerticalAxisGroup #'inter-staff-spacing = #'((space . 5.5) (stretchability . 1) (padding . 0.5))
395   \override VerticalAxisGroup #'inter-loose-line-spacing = #'((space . 0) (stretchability . 0) (padding . 0.2))
396   \override VerticalAxisGroup #'non-affinity-spacing #'padding = #1.0
397   \override SeparationItem #'padding = #0.2
398   \override InstrumentName #'self-alignment-Y = ##f
399
400   %% sync with define-grobs.scm ;
401   \override InstrumentName #'font-size = #1.0
402
403   %% make sure that barlines aren't collapsed, when
404   %% Bar_engraver is there.
405   \override BarLine #'bar-size = #0.1
406
407 }
408
409 \context {
410   \type "Engraver_group"
411   \name NoteNames
412   \description "A context for printing the names of notes."
413   \consists "Axis_group_engraver"
414
415   % FIXME: not sure what the default should be here.
416   \override VerticalAxisGroup #'staff-affinity = #DOWN
417
418
419   \consists "Rest_swallow_translator"
420   \consists "Skip_event_swallow_translator"
421   \consists "Tie_engraver"
422   \consists "Note_name_engraver"
423   \consists "Separating_line_group_engraver"
424 }
425
426 \context {
427   \type "Engraver_group"
428   \name ChordNames
429   \description "Typesets chord names."
430
431   \consists "Rest_swallow_translator"
432   \consists "Output_property_engraver"
433   \consists "Separating_line_group_engraver"
434   \consists "Chord_name_engraver"
435   \consists "Skip_event_swallow_translator"
436   \consists "Hara_kiri_engraver"
437 %  \consists "Note_spacing_engraver"
438   \override VerticalAxisGroup #'remove-first = ##t
439   \override VerticalAxisGroup #'remove-empty = ##t
440   \override VerticalAxisGroup #'staff-affinity = #DOWN
441   \override VerticalAxisGroup #'inter-staff-spacing #'padding = #0.5
442   \override VerticalAxisGroup #'inter-loose-line-spacing #'padding = #0.5
443 }
444
445
446 RemoveEmptyStaffContext= \context {
447   \Staff
448   \remove "Axis_group_engraver"
449   \consists "Hara_kiri_engraver"
450   \override Beam #'auto-knee-gap = #'()
451   \override VerticalAxisGroup #'remove-empty = ##t
452 }
453
454 AncientRemoveEmptyStaffContext = \context {
455 %% why not add by default?
456
457   \RemoveEmptyStaffContext
458   \accepts "VaticanaVoice"
459   \accepts "GregorianTranscriptionVoice"
460   \accepts "MensuralVoice"
461 }
462
463 \context {
464   \type "Score_engraver"
465   \name "Score"
466
467   \description "This is the top level notation context.  No
468 other context can contain a @code{Score} context.  This context
469 handles the administration of time signatures.  It also makes sure
470 that items such as clefs, time signatures, and key-signatures are
471 aligned across staves.
472
473 You cannot explicitly instantiate a @code{Score} context (since it
474 is not contained in any other context).  It is instantiated
475 automatically when an output definition (a @code{\score} or
476 @code{\layout} block) is processed."
477
478   \consists "Paper_column_engraver"
479   \consists "Vertically_spaced_contexts_engraver"
480   \consists "Repeat_acknowledge_engraver"
481   \consists "Staff_collecting_engraver"
482
483   %% move the alias along with the engraver.
484
485   \consists "Timing_translator"
486   \consists "Default_bar_line_engraver"
487   \consists "Output_property_engraver"
488   \consists "System_start_delimiter_engraver"
489   \consists "Mark_engraver"
490   \consists "Volta_engraver"
491   \consists "Metronome_mark_engraver"
492   \consists "Break_align_engraver"
493   \consists "Spacing_engraver"
494   \consists "Grace_spacing_engraver"
495   \consists "Vertical_align_engraver"
496   \consists "Stanza_number_align_engraver"
497   \consists "Bar_number_engraver"
498   \consists "Parenthesis_engraver"
499
500   \defaultchild "Staff"
501
502   \accepts "FretBoards"
503   \accepts "Staff"
504   \accepts "RhythmicStaff"
505   \accepts "TabStaff"
506   \accepts "VaticanaStaff"
507   \accepts "GregorianTranscriptionStaff"
508   \accepts "MensuralStaff"
509   \accepts "StaffGroup"
510   \accepts "DrumStaff"
511   \accepts "Lyrics"
512   \accepts "ChordNames"
513   \accepts "GrandStaff"
514   \accepts "ChoirStaff"
515   \accepts "PianoStaff"
516   \accepts "Devnull"
517   \accepts "NoteNames"
518   \accepts "FiguredBass"
519
520
521   noteToFretFunction = #determine-frets
522   soloText = #"Solo"
523   soloIIText = #"Solo II"
524   aDueText = #"a2"
525   printPartCombineTexts = ##t
526   systemStartDelimiter =#'SystemStartBar
527
528   drumStyleTable = #drums-style
529
530   melismaBusyProperties = #default-melisma-properties
531   tieWaitForNote = ##f
532   clefGlyph = #"clefs.G"
533   clefPosition = #-2
534   middleCClefPosition = #-6
535   middleCPosition = #-6
536   firstClef = ##t
537
538   crescendoSpanner = #'hairpin
539   decrescendoSpanner = #'hairpin
540
541   defaultBarType = #"|"
542   doubleRepeatType = #":|:"
543   barNumberVisibility = #first-bar-number-invisible
544   automaticBars = ##t
545
546   explicitClefVisibility = #all-visible
547   explicitKeySignatureVisibility = #all-visible
548   implicitTimeSignatureVisibility = #end-of-line-invisible
549
550   repeatCountVisibility = #all-repeat-counts-visible
551
552   beamSettings = #default-beam-settings
553   autoBeaming = ##t
554   autoBeamCheck = #default-auto-beam-check
555   scriptDefinitions = #default-script-alist
556
557   pedalSustainStrings = #'("Ped." "*Ped." "*")
558   pedalSustainStyle = #'text
559   pedalUnaCordaStrings = #'("una corda" "" "tre corde")
560   pedalUnaCordaStyle = #'text
561
562 %% These are in ordinary italic font, including the *,
563 %% but they are unlikely to be used,
564 %% as the default pedal-style for SostenutoPedal is 'mixed':
565 %% i.e.  Sost. Ped_____________________
566   pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*")
567   pedalSostenutoStyle = #'mixed
568
569   harmonicAccidentals = ##t
570   fingeringOrientations = #'(up down)
571   stringNumberOrientations = #'(up down)
572   strokeFingerOrientations = #'(right)
573
574   lyricMelismaAlignment = #LEFT
575   markFormatter = #format-mark-letters
576   rehearsalMark = #1
577   subdivideBeams = ##f
578   extraNatural = ##t
579   autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0))
580   autoCautionaries = #'()
581
582   printKeyCancellation = ##t
583   keyAlterationOrder = #`(
584     (6 . ,FLAT) (2  . ,FLAT) (5 . ,FLAT ) (1  . ,FLAT) (4  . ,FLAT) (0  . ,FLAT) (3  . ,FLAT)
585     (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
586     (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT) (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
587     (3  . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
588   )
589
590   barCheckSynchronize = ##f
591
592 %% chord names:
593   chordNameFunction = #ignatzek-chord-names
594   majorSevenSymbol = #whiteTriangleMarkup
595   chordNameSeparator = #(make-simple-markup  "/")
596   chordNameExceptions = #ignatzekExceptions
597   chordNoteNamer = #'()
598   chordRootNamer = #note-name->markup
599   chordPrefixSpacer = #0
600   chordNameExceptionsFull = #fullJazzExceptions
601   chordNameExceptionsPartial = #partialJazzExceptions
602   noChordSymbol = #(make-simple-markup "N.C.")
603
604   bassStaffProperties = #'((assign clefGlyph "clefs.F")
605   (assign clefPosition 2)
606   (assign middleCPosition 6)
607   (assign middleCClefPosition 6))
608 %% tablature:
609   stringOneTopmost = ##t
610   highStringOne = ##t
611
612 %% One may change the strings tuning as following :
613 %% The lenght of the list must be equal to the number of string
614   stringTunings = #guitar-tuning
615   tablatureFormat = #fret-number-tablature-format
616
617 %%
618   figuredBassFormatter = #format-bass-figure
619   metronomeMarkFormatter = #format-metronome-markup
620
621
622   %% See also make-voice-props-set
623   graceSettings = #`(
624     (Voice Stem direction ,UP)
625     (Voice Stem font-size -3)
626     (Voice NoteHead font-size -3)
627     (Voice TabNoteHead font-size -4)
628     (Voice Dots font-size -3)
629     (Voice Stem length-fraction 0.8)
630     (Voice Stem no-stem-extend #t)
631     (Voice Beam beam-thickness 0.384)
632     (Voice Beam length-fraction 0.8)
633     (Voice Accidental font-size -4)
634     (Voice AccidentalCautionary font-size -4)
635     (Voice Slur direction ,DOWN)
636     (Voice Script font-size -3)
637     (Voice Fingering font-size -8)
638     (Voice StringNumber font-size -8)
639   )
640
641   keepAliveInterfaces = #'(
642     rhythmic-grob-interface
643     lyric-interface
644     percent-repeat-item-interface
645     percent-repeat-interface
646
647     ;; need this, as stanza numbers are items, and appear only once.
648     stanza-number-interface
649   )
650   quotedEventTypes = #'(
651     note-event
652     rest-event
653     tie-event
654     beam-event
655     tuplet-span-event)
656   instrumentTransposition = #(ly:make-pitch 0 0 0)
657
658   verticallySpacedContexts = #'(Staff)
659   topLevelAlignment = ##t
660
661   timing = ##t
662 }
663
664
665
666
667 \context {
668   \type "Engraver_group"
669   \name "FiguredBass"
670   \description "A context for printing a figured bass line."
671
672   \consists "Figured_bass_engraver"
673   \consists "Note_swallow_translator"
674   \consists "Skip_event_swallow_translator"
675   \consists "Separating_line_group_engraver"
676   \consists "Hara_kiri_engraver"
677
678   \override VerticalAxisGroup #'remove-empty = ##t
679   \override VerticalAxisGroup #'remove-first = ##t
680   \override VerticalAxisGroup #'staff-affinity = #UP
681   \override VerticalAxisGroup #'inter-staff-spacing #'padding = #0.5
682   \override VerticalAxisGroup #'inter-loose-line-spacing #'padding = #0.5
683 }
684
685 \context {
686   \name "Devnull"
687   \type "Engraver_group"
688
689 %% don't want to route anything out of here:
690   \alias "Staff"
691   \alias "Voice"
692   \consists "Swallow_engraver"
693   \description "Silently discards all musical information given to this
694 context."
695 }
696
697 \context {
698   \Voice
699   \name "TabVoice"
700   \alias "Voice"
701   \consists "Tab_note_heads_engraver"
702   \consists "Tab_harmonic_engraver"
703
704   \remove "Note_heads_engraver"
705   \remove "Fingering_engraver"
706   \remove "New_fingering_engraver"
707
708   \description "Context for drawing notes in a Tab staff."
709
710   %% TabStaff increase the staff-space, which in turn
711   %% increases beam thickness and spacing; beams are
712   %% too big. We have to adjust the beam settings:
713   \override Beam #'beam-thickness = #0.32
714   \override Beam #'length-fraction = #0.62
715
716   %% No accidental in tablature !
717   \remove "Accidental_engraver"
718   %% make the Stems as short as possible to minimize their influence 
719   %% on the slur::calc-control-points routine
720   \override Stem #'length = #0
721   \override Stem #'no-stem-extend = ##t
722   \override Stem #'flag-style = #'no-flag
723   \override Stem #'details = #'((lengths 0 0 0 0 0 0)
724                                 (beamed-lengths 0 0 0)
725                                 (beamed-minimum-free-lengths 0 0 0)
726                                 (beamed-extreme-minimum-free-lengths 0 0)
727                                 (stem-shorten 0 0))
728   %% after all, the stubs of the stems may still be visible, so ...
729   \override Stem #'transparent = ##t
730   %% automatic beams should be suppressed for similar reasons ...
731   autoBeaming = ##f
732   %% ... and we ignore collision warnings that may occur due to
733   %% stem overlapping ...
734   \override NoteColumn #'ignore-collision = ##t
735   %% remove beams, dots and rests ...
736   \override Beam #'stencil = ##f
737   \override Dots #'stencil = ##f
738   \override Rest #'stencil = ##f
739   \override MultiMeasureRest #'stencil = ##f
740   %% ... all kinds of ties/slurs
741   \override Tie  #'stencil = ##f
742   \override RepeatTie #'stencil = ##f
743   \override LaissezVibrerTie #'stencil = ##f
744   \override Slur #'stencil = #slur::draw-tab-slur
745   \override PhrasingSlur #'stencil = ##f
746   %% 'tied to' fret numbers become invisible or parenthesized, respectively)
747   \override Tie #'after-line-breaking = #tie::handle-tab-note-head
748   \override RepeatTie #'after-line-breaking = #repeat-tie::handle-tab-note-head
749   %% ... and all kinds of markups, spanners etc.
750   \override TupletBracket #'stencil = ##f
751   \override TupletNumber #'stencil = ##f
752   \override DynamicText #'transparent = ##t
753   \override DynamicTextSpanner #'stencil = ##f
754   \override TextSpanner #'stencil = ##f
755   \override Hairpin #'transparent = ##t
756   \override Script #'stencil = ##f
757   \override TextScript #'stencil = ##f
758   %% the direction for glissando lines will be automatically corrected
759   \override Glissando #'extra-dy = #glissando::calc-tab-extra-dy
760   \override Glissando #'bound-details #'right = #`((attach-dir . ,LEFT)
761                                                    (padding . 0.3))
762   \override Glissando #'bound-details #'left = #`((attach-dir . ,RIGHT)
763                                                    (padding . 0.3))
764   %% dead notes
765   \override TabNoteHead #'glyph-name = #tab-note-head::calc-glyph-name
766   \override TabNoteHead #'stencil = #tab-note-head::whiteout-if-style-set
767 }
768
769 \context {
770   \Staff
771   \alias "Staff"
772   \name "TabStaff"
773   \denies "Voice"
774   \consists "Tab_staff_symbol_engraver"
775
776   \description "Context for generating tablature. [DOCME]"
777
778   \accepts "TabVoice"
779   \defaultchild "TabVoice"
780
781   %% 6 strings
782   \override StaffSymbol #'staff-space = #1.5
783
784   %% Don't draw stems over the tablature figures !
785   \override Stem #'avoid-note-head = ##t
786
787   %% No accidental in tablature !
788   \remove "Accidental_engraver"
789   \remove "Key_engraver"
790   \remove "String_number_engraver"
791   %% the clef handler
792   \override Clef #'stencil = #clef::print-modern-tab-if-set
793   %% no time signature
794   \override TimeSignature #'stencil = ##f
795   %% better parentheses in a TabStaff
796   \override ParenthesesItem #'stencils = #parentheses-item::calc-tabstaff-parenthesis-stencils
797   %% no arpeggios
798   \override Arpeggio #'stencil = ##f
799   %% Special "TAB" clef
800   clefGlyph = #"clefs.tab"
801   clefPosition = #0
802 }
803
804 \context {
805   \Voice
806   \name "VaticanaVoice"
807   \alias "Voice"
808   \description "Same as @code{Voice} context, except that it is
809 accommodated for typesetting Gregorian Chant in the notational style
810 of Editio Vaticana."
811
812   \remove "Slur_engraver"
813   \remove "Stem_engraver"
814   \remove "Ligature_bracket_engraver"
815   \consists "Vaticana_ligature_engraver"
816
817   %% Set default head for notes outside of \[ \].
818   \override NoteHead #'style = #'vaticana.punctum
819
820   %% Put some space before and after divisiones.
821   %% FIXME: This does not seem to show any effect.
822   \override Script #'padding = #0.5
823
824   %% There are no beams in Gregorian Chant notation.
825   autoBeaming = ##f
826
827   %% Prepare TextSpanner for \episem{Initium|Finis} use.
828   %%
829   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
830   %% required to force the articulation signs being placed vertically
831   %% tightly to the correpsonding note heads.
832   %%
833   \override TextSpanner #'style = #'line
834   \override TextSpanner #'padding = #-0.1
835 }
836
837 \context {
838   \Staff
839   \name "VaticanaStaff"
840   \alias "Staff"
841   \denies "Voice"
842   \accepts "VaticanaVoice"
843   \defaultchild "VaticanaVoice"
844
845   \description "Same as @code{Staff} context, except that it is
846 accommodated for typesetting Gregorian Chant in the notational style
847 of Editio Vaticana."
848
849   \remove "Time_signature_engraver"
850   \consists "Custos_engraver"
851
852   %% We can not remove Bar_engraver; otherwise clefs and custodes will
853   %% not show up any more among other line breaking issues.
854   %% Instead, we make the grob transparent.
855   \override BarLine #'transparent = ##t
856
857   \override StaffSymbol #'line-count = #4
858   \override StaffSymbol #'thickness = #0.6
859
860   %% FIXME: unit on StaffSymbol's width should be \linewidth.
861   %% \override StaffSymbol #'width = #60.0
862
863   %% Choose vaticana do clef on 3rd line as default.
864   clefGlyph = #"clefs.vaticana.do"
865   middleCPosition = #1
866   middleCClefPosition = #1
867   clefPosition = #1
868   clefOctavation = #0
869
870   %% Select vaticana style font.
871   \override KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
872   \override Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
873   \override Custos #'style = #'vaticana
874   \override Custos #'neutral-position = #3
875   \override Custos #'neutral-direction = #DOWN
876   \override Dots #'style = #'vaticana
877 }
878
879 \context {
880   \Voice
881   \name "GregorianTranscriptionVoice"
882   \alias "Voice"
883
884   %% Removing ligature bracket engraver without replacing it by some
885   %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
886   %% warning for every "\[" and "\]".  Therefore, we make the grob
887   %% transparent instead.
888   \override LigatureBracket #'transparent = ##t
889
890   %% Put some space before and after divisiones.
891   %% FIXME: This does not seem to show any effect.
892   \override Script #'padding = #0.5
893
894   %% There are no beams in Gregorian Chant notation.
895   autoBeaming = ##f
896
897   %% Prepare TextSpanner for \episem{Initium|Finis} use.
898   %%
899   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
900   %% always produce dashed lines, regardless of the style property.
901   %%
902   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
903   %% required to force the articulation signs being placed vertically
904   %% tightly to the correpsonding note heads.
905   %%
906   \override TextSpanner #'dash-fraction = #'()
907   \override TextSpanner #'style = #'line
908   \override TextSpanner #'padding = #-0.1
909 }
910
911 \context {
912   \Staff
913   \name "GregorianTranscriptionStaff"
914   \alias "Staff"
915   \denies "Voice"
916   \accepts "GregorianTranscriptionVoice"
917   \defaultchild "GregorianTranscriptionVoice"
918
919   %% We can not remove Bar_engraver; otherwise clefs and custodes will
920   %% not show up any more among other line breaking issues.
921   %% Instead, we make the grob transparent.
922   \override BarLine #'transparent = ##t
923 }
924
925 \context {
926   \Voice
927   \name "MensuralVoice"
928   \alias "Voice"
929   \description "Same as @code{Voice} context, except that it is
930 accommodated for typesetting a piece in mensural style."
931
932   \remove "Slur_engraver"
933   \remove "Ligature_bracket_engraver"
934   \consists "Mensural_ligature_engraver"
935
936   %% Set default head for notes outside of \[ \].
937   \override NoteHead #'style = #'mensural
938   \override Rest #'style = #'mensural
939
940   %% There are no beams in mensural notation.
941   autoBeaming = ##f
942 }
943
944 \context {
945   \Staff
946   \name "MensuralStaff"
947   \alias "Staff"
948   \denies "Voice"
949   \defaultchild "MensuralVoice"
950   \accepts "MensuralVoice"
951   \description "Same as @code{Staff} context, except that it is
952 accommodated for typesetting a piece in mensural style."
953
954   \consists "Custos_engraver"
955
956   %% We can not remove Bar_engraver; otherwise clefs and custodes will
957   %% not show up any more among other line breaking issues.
958   %% Instead, we make the grob transparent.
959   \override BarLine #'transparent = ##t
960
961   \override StaffSymbol #'thickness = #0.6
962
963   %% FIXME: unit on StaffSymbol's width should be \linewidth.
964   %% \override StaffSymbol #'width = #60.0
965
966   %% Choose mensural g clef on 2nd line as default.
967   clefGlyph = #"clefs.mensural.g"
968   middleCClefPosition = #-6
969   middleCPosition = #-6
970   clefPosition = #-2
971   clefOctavation = #0
972
973   %% Select mensural style font.
974   \override TimeSignature #'style = #'mensural
975   \override KeySignature #'glyph-name-alist = #alteration-mensural-glyph-name-alist
976   \override Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist
977   \override Custos #'style = #'mensural
978   \override Custos #'neutral-position = #3
979   \override Custos #'neutral-direction = #DOWN
980
981   %% Accidentals are valid only once (same as
982   %% #(set-accidental-style 'forget))
983   extraNatural = ##f
984   autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave -1))
985   autoCautionaries = #'()
986   printKeyCancellation = ##f
987 }
988
989
990 RemoveEmptyRhythmicStaffContext= \context {
991   \RhythmicStaff
992   \remove "Axis_group_engraver"
993   \override VerticalAxisGroup #'remove-empty = ##t
994   \consists "Hara_kiri_engraver"
995 }