As you have seen, LilyPond will automatically avoid
collisions with with the note at the same position as
the text script (as long as the text script and the note
are in the same Voice context), however as you have
also noted, LilyPond does not take into account if there
are subsequent notes that collide with the text.
Unfortunately, I don't see any good universal solution
with current LilyPond and I guess that it would mean
quite much job to automatically avoid such collisions.
Regarding the vertical alignment of "rit." vs. "a tempo",
there have been some related discussions on the mailing
lists and different tricks have been proposed that all rely
on \markup commands. For example
c^\markup{\combine \transparent "p" "rit." } c^"a tempo"
or
c^\markup{\pad-to-box #'(0 . 0) #'(-1 . 1) rit. }
c^\markup{\pad-to-box #'(0 . 0) #'(-1 . 1) a tempo }
These tricks can be automated by defining a new
markup command, but a proper solution would be to
support alignment on the base line, which again probably is
something that requires larger implementation work.
/Mats
Michael Kiermaier wrote:
Hi Mats,
thanks for your detailed answer.
Unfortunally I am not very happy with the results I get.
I am working on an orchestral piece. Voice-independent things (time
signatures, special bar lines, repeats, rehersal marks and the tempo marks)
go to the file global.ly.
In the end I want to have a score (contains all voices) and sheets for every
instrument (contains only one voices). Up to now I wrote the Violoncello and
the Contrabass parts.
Up to now I only played with the Contrabass sheet:
When I add \global to the Contrabass on the "Voice" context level, there are
some nasty collisions (tempo marks with subsequent notes as well as tempo
marks with subsequent text like "arco").
When I add it on the "Staff" context level using "\override TextScript
#'padding = #3", there are no collisions, but the result does not look good
because most of the time there is too much space below the tempo marks. Also,
the tempo marks are not exactly in the same vertical position: "rit." gets
set a bit lower than "in tempo", i suspect that the reason is that "in tempo"
contains a letter (the "p") going below the base line, while "in tempo"
doesn't.
At the moment, I don't know what to do. Aligning every tempo mark manually
would be a lot of work for all the instrument sheets.
The "right" thing would be to add \global on the "Voice" context level and to
tell lilypond to raise every single tempo mark until no collision occures.
But I don't know if that is possible.
There must be people who had the same problem before. Is there a simple
solution?
Thanks,
~michael
On Tuesday 26 September 2006 08:28, you wrote:
I usually use normal text scripts:
c^"a tempo"
or
c^\markup{\italic a tempo }
If you want to keep these annotations separate from the music, so it's
easy to
include them in every instrumental part but only on the top stave of the
score,
you could attach them to spacing notes. Example:
tempomarks = {s1^\markup{\italic Allegro } | s1_\markup\italic ritardando
} music = \relative c'''{g8^"arco" e f d e c e f g f g f e d e d | c1 }
\score{
\new Voice<< \music \tempomarks>>
}
Note that as long as you keep these annotations in the same Voice context
as the music, they will not collide with note heads or other text
scripts that
occur at the same note. If you put the annotations in a separate Voice
context,
you can get collisions (try to replace "Voice" by "Staff" in the example
above
to see what I mean), but on the other hand, you can set the padding
separately
to raise them further from the stave, without risking to affect other
text scripts
in the actual music. For example, you could do
tempomarks = {
\override TextScript #'padding = #3
s1^\markup{\italic Allegro } | s1_\markup\italic ritardando
}
music = \relative c'''{g8^"arco" e f d e c e f g f g f e d e d | c1 }
\score{
\new Staff <<
\new Voice \music
\new Voice \tempomarks
}
/Mats
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user
--
=============================================
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44 STOCKHOLM
Sweden
Phone: (+46) 8 790 8463
Fax: (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe
=============================================
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user