29.11.2012 Views

mpdolce - LilyPond

mpdolce - LilyPond

mpdolce - LilyPond

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 4: Tweaking output 89<br />

You will notice that font-series and font-size are also listed there. This immediately<br />

raises the question: Why are the common font properties font-series and font-size listed<br />

under LyricText as well as under the interface font-interface but font-shape is not? The<br />

answer is that font-series and font-size are changed from their global default values when<br />

a LyricText object is created, but font-shape is not. The entries in LyricText then tell you<br />

the values for those two properties which apply to LyricText. Other objects which support<br />

font-interface will set these properties differently when they are created.<br />

Let’s see if we can now construct the \override command to change the lyrics to italics.<br />

The object is LyricText, the property is font-shape and the value is italic. As before, we’ll<br />

omit the context.<br />

As an aside, although it is an important one, note that because the values of font-shape<br />

are symbols they must be introduced with a single apostrophe, '. That is why apostrophes are<br />

needed before thickness in the earlier example and font-shape. These are both symbols too.<br />

Symbols are then read internally by <strong>LilyPond</strong>. Some of them are the names of properties, like<br />

thickness or font-shape, others are used as values that can be given to properties, like italic.<br />

Note the distinction from arbitrary text strings, which would appear as "a text string"; for<br />

more details about symbols and strings, see Appendix B [Scheme tutorial], page 173.<br />

Ok, so the \override command we need to print the lyrics in italics should be<br />

\override LyricText #'font-shape = #'italic<br />

and this should be placed just in front of and close to the lyrics which it should affect, like this:<br />

{<br />

}<br />

\time 6/8<br />

{<br />

r4 b8 b[( g]) g |<br />

g[( e]) e d[( f]) a |<br />

a g<br />

}<br />

\addlyrics {<br />

\override LyricText #'font-shape = #'italic<br />

The man who feels love's sweet e -- mo -- tion<br />

}<br />

� �<br />

� �<br />

8 � � �<br />

�<br />

� 6<br />

�<br />

� � �<br />

� � � � �<br />

The man who feels love's sweet e<br />

and the lyrics are all printed in italics.<br />

Specifying the context in lyric mode<br />

�<br />

�<br />

motion<br />

In the case of lyrics, if you try specifying the context in the format given earlier the command<br />

will fail. A syllable entered in lyricmode is terminated by either a space, a newline or a digit.<br />

All other characters are included as part of the syllable. For this reason a space or newline<br />

must appear before the terminating } to prevent it being included as part of the final syllable.<br />

Similarly, spaces must be inserted before and after the period or dot, ‘.’, separating the context<br />

name from the object name, as otherwise the two names are run together and the interpreter<br />

cannot recognize them. So the command should be:<br />

\override Lyrics . LyricText #'font-shape = #'italic

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!