@chapter Tutorial
@menu
-* Introduction:: Introduction
+* Introduction::
* Running LilyPond:: Getting started
* The first tune:: The first tune
* Lyrics and chords:: Lyrics and chords
to the page layout of this document.
+@ignore
[TODO:
-* arpeggio, glissando,
-
-* \apply, \outputproperty, \translator @{@}, \molecule hacking.
-
-* font-size, cadenza. rhythmic staff, multi-stanza.
+* font-size, multi-stanza.
* Simple part combining in a Hymn
-
+@end ignore
@node An orchestral score
@section An orchestral score
timpani = \notes\relative c, @{
\times 2/3 @{ f4 f f @}
\times 4/5 @{ as8 as as as as @}
+ R1
@}
corno = \notes\relative c' @{
bes4 d f, bes d f, bes d
@}
\translator@{
\VoiceContext
- \remove "Rest_engraver";
+ \remove "Rest_engraver";
+ \consists "Multi_measure_rest_engraver";
+ \consists "Bar_engraver";
@}
\translator@{
\HaraKiriStaffContext
+ \remove "Multi_measure_rest_engraver";
+ \remove "Bar_engraver";
@}
\translator @{
\OrchestralScoreContext
linewidth = 60 * \staffspace;
@end example
-Because we have a Thread representing one instument, we move the
-need the @code{Rest_engraver} from Voice to Thread level.
+Because we have a Thread representing one instrument, we need to move
+the @code{Rest_engraver} from Voice to Thread level. Similarly, we need
+to move the @code{Multi_measure_rest_engraver} from Staff to Voice level.
@example
\translator@{
\ThreadContext
\translator@{
\VoiceContext
\remove "Rest_engraver";
+ \consists "Multi_measure_rest_engraver";
+ \consists "Bar_engraver";
@}
@end example
@example
\translator@{
\HaraKiriStaffContext
+ \remove "Multi_measure_rest_engraver";
+ \remove "Bar_engraver";
@}
@end example
That's all folks. From here, you can either try fiddling with input
files, or you can read the reference manual.
+
+
+@c @lilypond[nofragment]
+@c #(set! point-and-click #f)
+@c @end lilypond
% Ugh, we need to override some LaTeX titling stuff
\header {
- title = "Ouverture\\vrule width0pt height 0pt depth 1ex";
+ title = "Ouvertüre\\vrule width0pt height 0pt depth 1ex";
subtitle = "\\normalsize Zu Heinrich Joseph v. Collins Trauerspiel\\vrule width0pt height 0pt depth 1ex";
subsubtitle = "\\Large\\bf Coriolan";
opus = "Op. 62";
- piece = "\\normalfont\\large Allegro con brio";
+ piece = "\\hspace*{30mm}\\normalfont\\large Allegro con brio";
composer = "Ludwig van Beethoven (1770-1827)";
enteredby = "JCN";
}
}
clarinetti = \notes \relative c' {
- \property Staff.instrument = #`("Clarinetti in B" ,text-flat)
-% \property Staff.instrument = #`(lines "2 Clarinetti" (rows "(B" ,raisedflat ")"))
+% \property Staff.instrument = #`("Clarinetti in B" ,text-flat)
+ \property Staff.instrument = #`(lines "2 Clarinetti" (rows "(B" ,raisedflat ")"))
\property Staff.instr = #`(lines "Cl." (rows "(B" ,raisedflat ")"))
c1 c
'language' : [],
'latexheaders' : [],
'latexpackages' : ['geometry'],
- 'papersizename' : [],
+ 'papersize' : [],
'pagenumber' : [],
'textheight' : [],
'linewidth' : [],
try:
val = string.atof (val)
except ValueError:
- warning (_ ("invalid value: %s") % `val`)
+ #warning (_ ("invalid value: %s") % `val`)
pass
try:
# search only the first 10k
s = s[:10240]
- for x in ('textheight', 'linewidth', 'papersizename', 'orientation'):
+ for x in ('textheight', 'linewidth', 'papersize', 'orientation'):
m = re.search (r'\\def\\lilypondpaper%s{([^}]*)}'%x, s)
if m:
set_setting (extra, x, m.group (1))
ly_paper_to_latexpaper = {
'a4' : 'a4paper',
-
+ 'letter' : 'letterpaper',
}
def global_latex_definition (tfiles, extra):
paper = ''
- if extra['papersizename']:
- paper = '[%s]' % ly_paper_to_latexpaper[extra['papersizename'][0]]
+ if extra['papersize']:
+ try:
+ paper = '[%s]' % ly_paper_to_latexpaper[extra['papersize'][0]]
+ except:
+ warning (_ ("invalid value: %s") % `extra['papersize'][0]`)
+ pass
+
s = s + '\\documentclass%s{article}\n' % paper
if extra['language']:
'''Run dvips on DVI_NAME, optionally doing -t landscape'''
opts = ''
- if extra['papersizename']:
- opts = opts + ' -t %s' % extra['papersizename'][0]
+ if extra['papersize']:
+ opts = opts + ' -t %s' % extra['papersize'][0]
if extra['orientation'] and extra['orientation'][0] == 'landscape':
opts = opts + ' -t landscape'