change to reduce changes produced by diff.
+2006-05-17 Graham Percival <gpermus@gmail.com>
+
+ * Documentation/user/ various: remove trailing whitespace, cosmetic
+ change to reduce changes produced by diff.
+
2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
* lily/main.cc (do_chroot_jail): correctness tweak.
@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
-@c A menu is needed before every deeper *section nesting of @node's; run
+@c A menu is needed before every deeper *section nesting of @node's; run
@c M-x texinfo-all-menus-update
@c to automatically fill in these menus before saving changes
@commonprop
-Checking to make sure that text scripts and lyrics are within the margins is
-a relatively large computational task. To speed up processing, lilypond does
+Checking to make sure that text scripts and lyrics are within the margins is
+a relatively large computational task. To speed up processing, lilypond does
not perform such calculations by default; to enable it, use
@example
@cindex textSpannerUp
@code{textSpannerUp},
-@cindex textSpannerDown
+@cindex textSpannerDown
@code{textSpannerDown},
@cindex textSpannerNeutral
@code{textSpannerNeutral}.
To print a solid line, use
@example
-\override TextSpanner #'dash-fraction = #'()
+\override TextSpanner #'dash-fraction = #'()
@end example
@cindex font switching
The markup in the example demonstrates font switching commands. The
-command @code{\bold} and @code{\italic} apply to the first following
+command @code{\bold} and @code{\italic} apply to the first following
word only; to apply a command to more than one word, enclose the
words with braces,
Lists with no previous command are not kept distinct. The expression
@example
-\center-align @{ @{ a b @} @{ c d @} @}
+\center-align @{ @{ a b @} @{ c d @} @}
@end example
@noindent
@item @code{font-family}
is a symbol indicating the general class of the typeface. Supported are
@code{roman} (Computer Modern), @code{sans}, and @code{typewriter}.
-
+
@item @code{font-shape}
is a symbol indicating the shape of the font. There are typically
several font shapes available for each font family. Choices are
@item @code{font-series}
is a symbol indicating the series of the font. There are typically
several font series for each font family and shape. Choices are
-@code{medium} and @code{bold}.
+@code{medium} and @code{bold}.
@end itemize
Fonts selected in the way sketched above come from a predefined style
-sheet. If you want to use a font from outside the style sheet,
-then set the
-@code{font-name} property,
+sheet. If you want to use a font from outside the style sheet,
+then set the
+@code{font-name} property,
@lilypond[fragment,verbatim]
{
@lilypond[verbatim]
\paper {
myStaffSize = #20
-
+
#(define fonts
(make-pango-font-tree "Times New Roman"
"Nimbus Sans"
@end lilypond
@c we don't do Helvetica / Courier, since GS incorrectly loads
-@c Apple TTF fonts
+@c Apple TTF fonts
Collisions are not checked. If you have notes above the top line of
the staff (or notes with articulations, slurs, text, etc), then the
metronome marking may be printed on top of musical symbols. If this
-occurs, increase the padding of the metronome mark to place it
+occurs, increase the padding of the metronome mark to place it
further away from the staff.
@example
@end lilypond
The file @file{scm/@/translation@/-functions@/.scm} contains the definitions
-of @code{format-mark-numbers} (the default format),
+of @code{format-mark-numbers} (the default format),
@code{format-mark-box-numbers},
@code{format-mark-letters} and @code{format-mark-box-letters}.
These can be used as inspiration for other formatting functions.
Multiple rests are not merged if you create the score with both tagged
sections.
-
+
@node Orchestral music
\addquote clarinet \relative {
R1*20
r2 r8 c f f
-}
+}
\new Staff \relative <<
% setup a context for cue notes.
\new Voice = "cue" { \smaller \skip 1*21 }
-
+
\set Score.skipBars = ##t
-
+
\new Voice {
R1*20
\cueDuring #"clarinet" #1 {
R1
}
- g4 g2.
+ g4 g2.
}
>>
-@end lilypond
+@end lilypond
Here are a couple of hints for successful cue notes
@c Yes, this is good practice. Otherwise, the start of the original
@c part can only be seen from the font size. This is not good enough
@c for sight-reading. It is possilbe to use other
-@c markers (e.g. a big close-bracket over the staff) to indicate the cue
+@c markers (e.g. a big close-bracket over the staff) to indicate the cue
@c notes are
@c finished.
@c -hwn
Double time signatures are not supported explicitly, but they can be
faked. In the next example, the markup for the time signature is
created with a markup text. This markup text is inserted in the
-@internalsref{TimeSignature} grob. See also
+@internalsref{TimeSignature} grob. See also
@inputfileref{input/@/test,compound@/-time@/.ly}).
@lilypond[verbatim,ragged-right]
\consists "Timing_translator"
\consists "Default_bar_line_engraver"
@}
-
+
@}
@end example
@noindent
As the example illustrates, @code{ly:make-moment n m} constructs a
-duration of n/m of a whole note. For example, @code{ly:make-moment 1 8} is
+duration of n/m of a whole note. For example, @code{ly:make-moment 1 8} is
an eighth
note duration and @code{ly:make-moment 7 16} is the duration of
seven sixteenths notes.
* Balloon help::
* Blank music sheet::
* Hidden notes::
-* Shape note heads ::
+* Shape note heads::
* Easy Notation note heads::
* Analysis brackets::
* Coloring objects::
@end lilypond
-@node Shape note heads
-@subsection Shape note heads
+@node Shape note heads
+@subsection Shape note heads
In shape note head notation, the shape of the note head corresponds
to the harmonic function of a note in the scale. This notation was
@refbugs
Not all x11 colors are distinguishable in a web browser. For web use
-normal colors are recommended.
+normal colors are recommended.
An x11 color is not necessarily exactly the same shade as a similarly
-named normal color.
+named normal color.
Notes in a chord cannot be colored with @code{\override}; use
@code{\tweak} instead. See @ref{Objects connected to the input}
@cindex notes, ghost
@cindex notes, parenthesized
-Objects may be parenthesized by prefixing @code{\parenthesize} to the music
-event,
+Objects may be parenthesized by prefixing @code{\parenthesize} to the music
+event,
@lilypond[relative=2,fragment,verbatim,ragged-right]
<
c
\parenthesize d
g
->4-\parenthesize -.
+>4-\parenthesize -.
@end lilypond
This chapter explains how to use basic notation features.
@menu
-* Note entry::
-* Alternate music entry::
-* Staff notation::
-* Connecting notes::
-* Expressive marks::
-* Polyphony::
-* Repeats::
+* Note entry::
+* Alternate music entry::
+* Staff notation::
+* Connecting notes::
+* Expressive marks::
+* Polyphony::
+* Repeats::
@end menu
related constructs, such as stems, tuplets and ties.
@menu
-* Notes::
-* Pitches::
-* Cautionary accidentals::
-* Micro tones::
-* Chords::
-* Rests::
-* Skips::
-* Durations::
-* Augmentation dots::
-* Tuplets::
-* Scaling durations::
-* Stems::
+* Notes::
+* Pitches::
+* Cautionary accidentals::
+* Micro tones::
+* Chords::
+* Rests::
+* Skips::
+* Durations::
+* Augmentation dots::
+* Tuplets::
+* Scaling durations::
+* Stems::
@end menu
@seealso
-Program reference: @internalsref{LedgerLineSpanner},
+Program reference: @internalsref{LedgerLineSpanner},
@internalsref{NoteHead}.
website for more information.
@menu
-* Relative octaves::
-* Octave check::
-* Transpose::
-* Bar check::
-* Barnumber check::
-* Skipping corrected music::
-* Automatic note splitting::
-* Writing music in parallel::
+* Relative octaves::
+* Octave check::
+* Transpose::
+* Bar check::
+* Barnumber check::
+* Skipping corrected music::
+* Automatic note splitting::
+* Writing music in parallel::
@end menu
@cindex @code{skipTypesetting}
@cindex @code{showLastLength}
-When entering or copying music, usually only the music near the end (where
+When entering or copying music, usually only the music near the end (where
you
are adding notes) is interesting to view and correct. To speed up
this correction process, it is possible to skip typesetting of all but
such as key signatures, clefs and time signatures.
@menu
-* Clef::
-* Key signature::
-* Time signature::
-* Partial measures::
-* Bar lines::
-* Unmetered music::
-* System start delimiters::
-* Staff symbol::
+* Clef::
+* Key signature::
+* Time signature::
+* Partial measures::
+* Bar lines::
+* Unmetered music::
+* System start delimiters::
+* Staff symbol::
@end menu
@commonprop
-The command @code{\clef "treble_8"} is equivalent to setting
+The command @code{\clef "treble_8"} is equivalent to setting
@code{clefGlyph},
@code{clefPosition} (which controls the Y position of the clef),
@code{middleCPosition} and @code{clefOctavation}. A clef is printed
A bar line is created whenever the @code{whichBar} property is set.
At the start of a measure it is set to the contents of
-@code{Timing.defaultBarType}. The contents of @code{repeatCommands} are
+@code{Timing.defaultBarType}. The contents of @code{repeatCommands} are
used
to override default measure bars.
This section deals with notation that affects groups of notes.
@menu
-* Ties::
-* Slurs::
-* Phrasing slurs::
-* Laissez vibrer ties::
-* Automatic beams::
-* Manual beams::
-* Grace notes::
+* Ties::
+* Slurs::
+* Phrasing slurs::
+* Laissez vibrer ties::
+* Automatic beams::
+* Manual beams::
+* Grace notes::
@end menu
notes and rhythms.
@menu
-* Articulations::
-* Fingering instructions::
-* Dynamics::
-* Breath marks::
-* Trills::
-* Glissando::
-* Arpeggio::
+* Articulations::
+* Fingering instructions::
+* Dynamics::
+* Breath marks::
+* Trills::
+* Glissando::
+* Arpeggio::
@end menu
one voice on the same staff.
@menu
-* Basic polyphony::
-* Explicitly instantiating voices::
-* Collision Resolution::
+* Basic polyphony::
+* Explicitly instantiating voices::
+* Collision Resolution::
@end menu
same voice. Here is the same example, with different noteheads for each
voice. Note that the change to the note-head style in the main voice does
not affect
-the inside of the @code{<< \\ >>} constructs. Also, the change to the
+the inside of the @code{<< \\ >>} constructs. Also, the change to the
second
voice in the first @code{<< \\ >>} construct is effective in the second
@code{<< \\ >>}, and the voice is tied across the two constructs.
for repetitions.
@menu
-* Repeat types::
-* Repeat syntax::
-* Repeats and MIDI::
-* Manual repeat commands::
-* Tremolo repeats::
-* Tremolo subdivisions::
-* Measure repeats::
+* Repeat types::
+* Repeat syntax::
+* Repeats and MIDI::
+* Manual repeat commands::
+* Tremolo repeats::
+* Tremolo subdivisions::
+* Measure repeats::
@end menu
@seealso
-Program reference: @internalsref{VoltaBracket},
+Program reference: @internalsref{VoltaBracket},
@internalsref{RepeatedMusic},
@internalsref{VoltaRepeatedMusic},
@internalsref{UnfoldedRepeatedMusic}, and
Output: changing the appearance of individual
objects. For example, changing stem directions or the location of
subscripts.
-
+
@item
Context: changing aspects of the translation from music events to
-notation. For example, giving each staff a separate time signature.
-
+notation. For example, giving each staff a separate time signature.
+
@item
Global layout: changing the appearance of the spacing, line
breaks, and page dimensions. These modifications are discussed
* The \override command::
@end menu
-
+
@node Automatic notation
@section Automatic notation
this rule should apply. Set @code{n} and @code{m} to @code{'*'}
to have this apply in any time signature.
-@item @code{a/b} is the position in the bar at which the beam should
+@item @code{a/b} is the position in the bar at which the beam should
begin/end.
@item @code{context} is optional, and it specifies the context at which
@ifhtml
@internalsref{Contexts}.
@end ifhtml
-@ifnothtml
+@ifnothtml
Translation @arrow{} Context.
@end ifnothtml
interpreting the @var{music expression} with that.
A practical application of @code{\new} is a score with many
-staves. Each part that should be on its own staff, is preceded with
+staves. Each part that should be on its own staff, is preceded with
@code{\new Staff}.
@lilypond[quote,verbatim,relative=2,ragged-right,fragment]
so the texts can be properly aligned to its notes,
@example
-\new Lyrics \lyricsto "@b{tenor}" @var{lyrics}
+\new Lyrics \lyricsto "@b{tenor}" @var{lyrics}
@end example
@noindent
For example,
@lilypond[quote,verbatim,relative=2,fragment]
-R1*2
+R1*2
\set Score.skipBars = ##t
R1*2
@end lilypond
have no effect.
@lilypond[quote,verbatim,relative=2,fragment]
-R1*2
+R1*2
\set skipBars = ##t
R1*2
@end lilypond
`on-the-fly', during the music, so that the setting only affects the
second group of eighth notes.
-@cindex @code{\unset}
+@cindex @code{\unset}
There is also an @code{\unset} command,
@example
specified for a bottom context, so the two statements
@example
-\set Voice.autoBeaming = ##t
-\set autoBeaming = ##t
-@end example
+\set Voice.autoBeaming = ##t
+\set autoBeaming = ##t
+@end example
@noindent
are equivalent.
@code{Note_head_engraver} and the @code{Staff} context contains a
@code{Key_signature_engraver}.
-For a full a description of each plug-in, see
+For a full a description of each plug-in, see
@ifhtml
@internalsref{Engravers}.
@end ifhtml
@ifhtml
@internalsref{Contexts}
@end ifhtml
-@ifnothtml
+@ifnothtml
Program reference @arrow Translation @arrow{} Context.
@end ifnothtml
lists the engravers used for that context.
objects. The settings used for printing these objects are also stored by
context. By changing these settings, the appearance of objects can be
altered.
-
+
The syntax for this is
@example
The command
@verbatim
-\override Staff.Stem #'thickness = #4.0
+\override Staff.Stem #'thickness = #4.0
@end verbatim
@noindent
@lilypond[quote,verbatim,relative=2,fragment]
c4
-\override Staff.Stem #'thickness = #4.0
+\override Staff.Stem #'thickness = #4.0
c4
c4
c4
Analogous to @code{\set}, the @var{context} argument may be left out,
causing it to default to @context{Voice}, and adding @code{\once} applies
-the change during one timestep only
+the change during one timestep only
@lilypond[quote,fragment,verbatim,relative=2]
c4
-\once \override Stem #'thickness = #4.0
+\once \override Stem #'thickness = #4.0
+c4
c4
-c4
@end lilypond
The @code{\override} must be done before the object is
\override Slur #'thickness = #3.0
c8[( c
\override Beam #'thickness = #0.6
-c8 c])
+c8 c])
@end lilypond
@noindent
@end example
Here @code{\Staff} takes the existing definition for context @context{Staff} from the
-identifier @code{\Staff}.
+identifier @code{\Staff}.
The statements
@example
}}
\relative c'' {
- a4 d8 bes8 \new ImproVoice { c4^"ad lib" c
- c4 c^"undress" c_"while playing :)" c }
- a1
+ a4 d8 bes8 \new ImproVoice { c4^"ad lib" c
+ c4 c^"undress" c_"while playing :)" c }
+ a1
}
@end lilypond
@example
\context @{
\Staff
- \accepts ImproVoice
+ \accepts ImproVoice
@}
@end example
\relative c'' @{
a4 d8 bes8
\new ImproVoice @{
- c4^"ad lib" c
+ c4^"ad lib" c
c4 c^"undress"
c c_"while playing :)"
@}
a1
@}
@end example
-
-
+
+
@node The \override command
@section The \override command
@item the layout object: here @code{Stem}.
@item the layout property: here @code{thickness}.
@item a sensible value: here @code{3.0}.
-@end itemize
+@end itemize
Some tweakable options are called ``subproperties'' and reside inside
properties. To tweak those, use commands in the form
@cindex internal documentation
@cindex finding graphical objects
-@cindex graphical object descriptions
+@cindex graphical object descriptions
@cindex tweaking
@cindex @code{\override}
@cindex internal documentation
@quotation
Accepted by: @internalsref{Fingering_engraver},
-@end quotation
+@end quotation
@noindent
That link brings us to the documentation for the Engraver, the
chapter lists all the definitions used and all properties that may be
tuned.
-
+
@node Layout interfaces
@subsection Layout interfaces
@quotation
@code{padding} (dimension, in staff space):
-
+
@code{0.5}
@end quotation
@node Determining the grob property
@subsection Determining the grob property
-Recall that we wanted to change the position of the @b{2} in
+Recall that we wanted to change the position of the @b{2} in
@lilypond[quote,fragment,relative=2,verbatim]
c-2
Since the @b{2} is vertically positioned next to its note, we have to
meddle with the interface associated with this positioning. This is
-done using @code{side-position-interface}. The page for this interface
+done using @code{side-position-interface}. The page for this interface
says
@quotation
@item padding
(dimension, in staff space)
-Add this much extra space between objects that are next to each other.
+Add this much extra space between objects that are next to each other.
@end table
@end quotation
\tweak #'color #red d
g
\tweak #'duration-log #1 a
->4-\tweak #'padding #10 -.
+>4-\tweak #'padding #10 -.
@end lilypond
As you can see, properties are set directly in the objects directly,
@code{studlyCaps}. They mostly control the translation from
music to notatino, eg. @code{localKeySignature} (for determining
whether to print accidentals), @code{measurePosition} (for
-determining when to print a barline). Context properties can
+determining when to print a barline). Context properties can
change value over time while interpreting a piece of music;
@code{measurePosition} is an obvious example of
this. Context properties are modified with @code{\set}.
@node Difficult tweaks
@subsection Difficult tweaks
-There are a few classes of difficult adjustments.
+There are a few classes of difficult adjustments.
@itemize @bullet
In the following example, we define a procedure
@code{my-callback}. This procedure
-
+
@itemize @bullet
@item
determines if we have been split across line breaks
@lilypond[quote,verbatim,ragged-right]
#(define (my-callback grob)
(let* (
- ; have we been split?
+ ; have we been split?
(orig (ly:grob-original grob))
; if yes, get the split pieces (our siblings)
(eq? (car (last-pair siblings)) grob))
(ly:grob-set-property! grob 'extra-offset '(-2 . 5)))))
-\relative c'' {
+\relative c'' {
\override Tie #'after-line-breaking =
#my-callback
c1 ~ \break c2 ~ c
@code{\outputProperty} function, which works similar to @code{\once
\override}, but uses a different syntax,
-@example
+@example
\outputProperty
#"Score.NonMusicalPaperColumn" % Grob name
-#'line-break-system-details % Property name
+#'line-break-system-details % Property name
#'((next-padding . 20)) % Value
@end example
* Invoking midi2ly:: Importing MIDI.
* Invoking etf2ly:: Importing Finale.
* Invoking musicxml2ly::
-* Invoking abc2ly:: Importing ABC.
-* Invoking mup2ly:: Importing MUP.
+* Invoking abc2ly:: Importing ABC.
+* Invoking mup2ly:: Importing MUP.
* Generating LilyPond files::
@end menu
%%LY voices \set autoBeaming = ##f
@end example
-This will cause the text following the keyword ``voices'' to be inserted
+This will cause the text following the keyword ``voices'' to be inserted
into the current voice of the LilyPond output file.
Similarly,
@refbugs
The ABC standard is not very ``standard''. For extended features
-(e.g., polyphonic music) different conventions exist.
+(e.g., polyphonic music) different conventions exist.
Multiple tunes in one file cannot be converted.
@item -v,--version
version information
@item -w,--warranty
-print warranty and copyright.
+print warranty and copyright.
@end table
@item
@uref{http://@/denemo@/.sourceforge@/.net/,Denemo}, a graphical score editor.
@item
-@uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, a realtime
+@uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, a realtime
monophonic MIDI to LilyPond converter.
@item
-@uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, an
+@uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, an
Emacs major mode.
@item
@uref{http://@/www@/.nongnu@/.org/@/xml2ly/, xml2ly}, which imports
%%%%% vn1.ly
\version "2.7.39"
\include "piece.ly"
-\score {
+\score {
\keepWithTag #'vn1 \music
\layout { }
}
%%%%% vn2.ly
\version "2.7.39"
\include "piece.ly"
-\score {
+\score {
\keepWithTag #'vn2 \music
\layout { }
}
%%%%% vla.ly
\version "2.7.39"
\include "piece.ly"
-\score {
+\score {
\keepWithTag #'vla \music
\layout { }
}
%%%%% vlc.ly
\version "2.7.39"
\include "piece.ly"
-\score {
+\score {
\keepWithTag #'vlc \music
\layout { }
}
@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
-@c A menu is needed before every deeper *section nesting of @node's; run
+@c A menu is needed before every deeper *section nesting of @node's; run
@c M-x texinfo-all-menus-update
@c to automatically fill in these menus before saving changes
@item
A @code{\header} block. This sets the global header block. This
is the block containing the definitions for book-wide settings, like
-composer, title, etc.
+composer, title, etc.
@item
An @code{\addquote} statement. See @ref{Quoting other voices}
\header @{ @}
@}
@end example
-
+
This behavior can be changed by setting the variable
@code{toplevel-music-handler} at toplevel. The default handler is
defined in the init file @file{scm/@/lily@/.scm}.
@example
\layout @{
- % movements are non-justified by default
+ % movements are non-justified by default
ragged-right = ##t
@}
\header @{
title = "Do-re-mi"
@}
-
+
@{ c'4 d' e2 @}
@end example
@item @code{\version}
@item @code{\include}
@item @code{\renameinput}
-@end itemize
+@end itemize
@node Including LilyPond files
current working directory are available to \include, but a file of the same
name in LilyPond's installation takes precedence. Files are
available to \include from directories in the search path specified as an
-option when invoking @code{lilypond --include=DIR} which adds DIR to the
+option when invoking @code{lilypond --include=DIR} which adds DIR to the
search path.
The @code{\include} statement can use full path information, but with the Unix
\book {
\header {
dedication = "dedicated to me"
- title = \markup \center-align { "Title first line" "Title second line,
+ title = \markup \center-align { "Title first line" "Title second line,
longer" }
subtitle = "the subtitle,"
- subsubtitle = #(string-append "subsubtitle LilyPond version "
+ subsubtitle = #(string-append "subsubtitle LilyPond version "
(lilypond-version))
poet = "Poet"
composer = \markup \center-align { "composer" \small "(1847-1973)" }
texttranslator = "Text Translator"
- meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge
+ meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge
"r" }
- arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize
+ arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize
#-2.5 "r" \fontsize #-5.3 "a" \fontsize #7.5 "nger" }
instrument = \markup \bold \italic "instrument"
piece = "Piece"
{ c'1 }
\header {
piece = "piece1"
- opus = "opus1"
+ opus = "opus1"
}
}
\markup {
{ c'1 }
\header {
piece = "piece2"
- opus = "opus2"
+ opus = "opus2"
}
}
}
@end lilypond
-As demonstrated before, you can use multiple @code{\header} blocks.
-When same fields appear in different blocks, the latter is used.
+As demonstrated before, you can use multiple @code{\header} blocks.
+When same fields appear in different blocks, the latter is used.
Here is a short example.
-@example
+@example
\header @{
composer = "Composer"
@}
@item bookTitleMarkup
This is the title put over an entire @code{\book} block. Typically,
it has the composer and the title of the piece
-
+
@cindex @code{scoreTitleMarkup}
@item scoreTitleMarkup
This is the title put over a @code{\score} block within a
@cindex @code{oddHeaderMarkup}
@item oddHeaderMarkup
- This is the page header for odd-numbered pages.
+ This is the page header for odd-numbered pages.
@cindex @code{evenHeaderMarkup}
@item evenHeaderMarkup
@cindex @code{oddFooterMarkup}
@item oddFooterMarkup
- This is the page footer for odd-numbered pages.
-
+ This is the page footer for odd-numbered pages.
+
@cindex @code{evenFotterMarkup}
@item evenFooterMarkup
This is the page footer for even-numbered pages. If unspecified,
@refbugs
-The @code{breakbefore=##t} header requires that there is a @code{piece}
-header as well. It may be used as a normal header, or left blank
+The @code{breakbefore=##t} header requires that there is a @code{piece}
+header as well. It may be used as a normal header, or left blank
(@code{=""}) as in the example above, but it must be present.
@}
@end example
-The first command sets the size of all pages. The second command sets the
+The first command sets the size of all pages. The second command sets the
size
of the pages that the @code{\paper} block applies to -- if the @code{\paper}
block is at the top of the file, then it will apply to all pages. If the
@example
#(set-default-paper-size "a6" 'landscape)
-@end example
+@end example
Setting the paper size will adjust a number of @code{\paper} variables
(such as margins). To use a particular paper size with altered
This should be set to true for pieces that have only two or three
systems per page, for example orchestral scores.
-
+
@cindex @code{ragged-last-bottom}
@item ragged-last-bottom
If set to false, systems will be spread vertically to fill the last page.
Amount of space between the title and the first system.
@cindex @code{after-title-space}
-@item before-title-space
+@item before-title-space
Amount of space between the last system of the previous piece and the
title of the next.
@example
\paper @{
- #(define bottom-margin (* 2 cm))
+ #(define bottom-margin (* 2 cm))
@}
@end example
@item feta11
@tab 11.22
-@tab 3.9
+@tab 3.9
@tab pocket scores
@item feta13
@tab 12.60
@tab 4.4
@tab
-
+
@item feta14
@tab 14.14
@tab 5.0
-@tab
+@tab
@item feta16
@tab 15.87
@tab 5.6
-@tab
+@tab
@item feta18
@tab 17.82
@item feta20
@tab 20
@tab 7.0
-@tab standard parts
+@tab standard parts
@item feta23
-@tab 22.45
+@tab 22.45
@tab 7.9
-@tab
+@tab
@item feta26
-@tab 25.2
+@tab 25.2
@tab 8.9
@tab
@c modern rental material?
The following commands set @code{fontSize} for the current voice:
@cindex @code{\tiny}
-@code{\tiny},
+@code{\tiny},
@cindex @code{\small}
-@code{\small},
+@code{\small},
@cindex @code{\normalsize}
@code{\normalsize}.
@lilypond[ragged-right, fragment, relative=2, staffsize=13]
\new StaffGroup <<
- \new Staff {
- c1\break
-
+ \new Staff {
+ c1\break
+
\overrideProperty
#"Score.NonMusicalPaperColumn"
#'line-break-system-details
#'((fixed-alignment-extra-space . 15))
- c\break
+ c\break
}
\new Staff { c c }
>>
@c let's wait for a some comments before writing more.
-The vertical spacing on a page can also be changed for each system
+The vertical spacing on a page can also be changed for each system
individually.
Some examples are found in the example file
@inputfileref{input/regression/,page-spacing.ly}.
Internals: Vertical alignment of staves is handled by the
@internalsref{VerticalAlignment} object. The context parameters
-specifying the vertical extent are described in connection with
+specifying the vertical extent are described in connection with
the @internalsref{Axis_group_engraver}.
Example files: @inputfileref{input/regression/,page-spacing.ly},
The distance between staves of a @internalsref{PianoStaff} cannot be
computed during formatting. Rather, to make cross-staff beaming work
correctly, that distance has to be fixed beforehand.
-
+
The distance of staves in a @code{PianoStaff} is set with the
@code{forced-distance} property of the
@internalsref{VerticalAlignment} object, created in
\new Staff { c }
\new Staff { c }
>>
->>
+>>
@end lilypond
It is also possible to change the distance between for each system
-individually. This is done by including the command
+individually. This is done by including the command
@example
\overrideProperty
@lilypond[ragged-right, fragment, relative=2, staffsize=13]
\new PianoStaff <<
- \new Staff {
- c1\break
-
+ \new Staff {
+ c1\break
+
\overrideProperty
#"Score.NonMusicalPaperColumn"
#'line-break-system-details
#'((fixed-alignment-extra-space . 15))
- c\break
+ c\break
}
\new Staff { c c }
>>
@code{spacing-increment}) of space to the note.
For example, the following piece contains lots of half, quarter, and
-8th notes; the eighth note is followed by 1 note head width (NHW).
+8th notes; the eighth note is followed by 1 note head width (NHW).
The quarter note is followed by 2 NHW, the half by 3 NHW, etc.
@lilypond[quote,fragment,verbatim,relative=1]
\override Staff.NoteSpacing #'stem-spacing-correction = #1.5
\override Staff.StaffSpacing #'stem-spacing-correction = #1.5
c'4 e''4 e'4 b'4 |
- b'4 e''4 b'4 e''4|
+ b'4 e''4 b'4 e''4|
}
@end lilypond
regard for clefs, bar lines, and grace notes,
@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
-\override Score.SpacingSpanner #'strict-note-spacing = ##t
+\override Score.SpacingSpanner #'strict-note-spacing = ##t
\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
@end lilypond
this point. Line breaks can only occur at places where there are bar
lines. If you want to have a line break where there is no bar line,
you can force an invisible bar line by entering @code{\bar
-""}. Similarly, @code{\noBreak} forbids a line break at a
+""}. Similarly, @code{\noBreak} forbids a line break at a
point.
@cindex regular line breaks
-@cindex four bar music.
+@cindex four bar music.
For line breaks at regular intervals use @code{\break} separated by
skips and repeated with @code{\repeat}:
s1 \noBreak s1 \noBreak
s1 \noBreak s1 \break @}
@emph{the real music}
->>
+>>
@end example
@noindent
a line break.
Page breaks are computed by the @code{page-breaking} function in the
-@code{\paper} block.
+@code{\paper} block.
To force a new page for a new piece (in a collection of pieces or a
piece in several movements), use @code{breakbefore} in the header.
@cindex @code{\pageBreak}
@code{\pageBreak}
-@cindex @code{\noPageBreak}
-@code{\noPageBreak}
+@cindex @code{\noPageBreak}
+@code{\noPageBreak}
@refbugs
-The @code{breakbefore=##t} header requires that there is a @code{piece}
-header as well. It may be used as a normal header, or left blank
+The @code{breakbefore=##t} header requires that there is a @code{piece}
+header as well. It may be used as a normal header, or left blank
(@code{=""}) as in the example above, but it must be present.
@cindex Engraved by LilyPond
@cindex signature line
-@example
+@example
\book @{
\header @{
- title = "Eight miniatures"
+ title = "Eight miniatures"
composer = "Igor Stravinsky"
@}
\score @{
@end menu
@node Creating MIDI files
-@subsection Creating MIDI files
+@subsection Creating MIDI files
To create a MIDI from a music piece of music, add a @code{\midi} block
to a score, for example,
-@example
+@example
\score @{
@var{...music...}
\midi @{ \tempo 4=72 @}
@}
-@end example
+@end example
The tempo is specified using the @code{\tempo} command. In this
example the tempo of quarter notes is set to 72 beats per minute.
be produced. When notation is needed too, a @code{\layout} block must
be added
-@example
+@example
\score @{
@var{...music...}
\midi @{ \tempo 4=72 @}
\layout @{ @}
@}
-@end example
+@end example
@cindex layout block
inserted, for example
@example
-\midi @{ \tempo 4 . = 120 @}
+\midi @{ \tempo 4 . = 120 @}
@end example
@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
-@c A menu is needed before every deeper *section nesting of @node's; run
+@c A menu is needed before every deeper *section nesting of @node's; run
@c M-x texinfo-all-menus-update
@c to automatically fill in these menus before saving changes
@cindex @code{chordPrefixSpacer}
@item chordPrefixSpacer
-The ``m'' for minor chords is usually printed right after the root of
-the chord. By setting @code{chordPrefixSpacer}, you can fix a spacer
+The ``m'' for minor chords is usually printed right after the root of
+the chord. By setting @code{chordPrefixSpacer}, you can fix a spacer
between the root and ``m''. The spacer is not used when the root
is altered.
@end table
The predefined variables @code{\germanChords},
-@code{\semiGermanChords}, @code{\italianChords} and @code{\frenchChords}
+@code{\semiGermanChords}, @code{\italianChords} and @code{\frenchChords}
set these variables. The effect is
demonstrated here,
@commonprop
-Checking to make sure that text scripts and lyrics are within the margins is
-a relatively large computational task. To speed up processing, lilypond does
+Checking to make sure that text scripts and lyrics are within the margins is
+a relatively large computational task. To speed up processing, lilypond does
not perform such calculations by default; to enable it, use
@example
-\override Score.PaperColumn #'keep-inside-line = ##t
+\override Score.PaperColumn #'keep-inside-line = ##t
@end example
To make lyrics avoid barlines as well, use
\addlyrics { joue le jeu }
@end lilypond
-The command @code{\addlyrics} cannot handle polyphony settings. For these
+The command @code{\addlyrics} cannot handle polyphony settings. For these
cases you should use @code{\lyricsto} and @code{\lyricmode}.
the lyrics to a melody or other voice of music, using @code{\addlyrics}
or @code{\lyricsto}. For more details see @ref{The Lyrics context}.
-A word or syllable of lyrics begins with an alphabetic character, and ends
+A word or syllable of lyrics begins with an alphabetic character, and ends
with
any space or digit. The following characters can be any character
that is not a digit or white space. One important consequence of this
is that a word can end with @code{@}}. The following example is
-usually a mistake in the input file. The syllable includes a @code{@}}, so
+usually a mistake in the input file. The syllable includes a @code{@}}, so
the
opening brace is not balanced
@example
@node The Lyrics context
@subsection The Lyrics context
-Lyrics are printed by interpreting them in the context caleld
+Lyrics are printed by interpreting them in the context caleld
@internalsref{Lyrics}.
@example
The following example uses different commands for entering lyrics.
@lilypond[quote,fragment,ragged-right,verbatim]
-<<
+<<
\new Voice = "one" \relative c'' {
\autoBeamOff
\time 2/4
- c4 b8. a16 g4. f8 e4 d c2
+ c4 b8. a16 g4. f8 e4 d c2
}
\new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
\new Lyrics \lyricmode { Joy to the earth! the Sav -- our reigns. }
@example
verseOne = \lyricmode @{ Joy to the world the Lord is come @}
\score @{
- <<
+ <<
\new Voice = "one" \relative c'' @{
\autoBeamOff
\time 2/4
- c4 b8. a16 g4. f8 e4 d c2
+ c4 b8. a16 g4. f8 e4 d c2
@}
\addlyrics @{ \verseOne @}
>>
The @code{\addlyrics} command is actually just a convenient way
to write a more complicated LilyPond structure that sets up the
-lyrics.
+lyrics.
@example
@{ MUSIC @}
@end menu
@node Lyrics to multiple notes of a melisma
-@subsubsection Lyrics to multiple notes of a melisma
+@subsubsection Lyrics to multiple notes of a melisma
One possibility is that the text has a melisma in one stanza, but
It is also possible to define melismata entirely in the lyrics. This
can be done by entering @code{_} for every note that is part of the
-melisma.
+melisma.
-@lilypond[relative=1,verbatim,fragment]
+@lilypond[relative=1,verbatim,fragment]
{ \set melismaBusyProperties = #'()
c d( e) f f( e) e e }
\addlyrics
LyricSpace.
@lilypond[relative,verbatim,fragment,quote,ragged-right]
-{
+{
c c c c
\override Lyrics.LyricSpace #'minimum-distance = #1.0
c c c c
}
@end lilypond
-To make this change for all lyrics in the score, set the property in the
+To make this change for all lyrics in the score, set the property in the
layout.
@lilypond[relative,verbatim,quote,ragged-right]
@seealso
-Program reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
+Program reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
@internalsref{VocalName}.
@cindex String numbers
String numbers can be added to chords, by indicating the string number
-with @code{\}@var{number},
+with @code{\}@var{number},
@lilypond[relative,relative=1,ragged-right,fragment]
<c\1 e\2 g\3>
\set TabStaff.stringTunings = #bass-tuning
@end example
-The default string tuning is @code{guitar-tuning} (the standard EADGBE
+The default string tuning is @code{guitar-tuning} (the standard EADGBE
tuning).
Some other predefined tunings are @code{guitar-open-g-tuning},
@code{mandolin-tuning} and @code{banjo-open-g-tuning}.
@seealso
-The file @file{scm/@/output@/-lib@/.scm} contains the predefined string
+The file @file{scm/@/output@/-lib@/.scm} contains the predefined string
tunings.
Program reference: @internalsref{Tab_note_heads_engraver}.
@cindex Banjo tablatures
LilyPond has basic support for five stringed banjo. When making tablatures
-for five stringed banjo, use the banjo tablature format function to get
+for five stringed banjo, use the banjo tablature format function to get
correct
fret numbers for the fifth string:
@end lilypond
-Stopped (X) note heads are used in guitar music to signal a place where the
-guitarist must play a certain note or chord, with its fingers just
-touching the strings instead of fully pressing them. This gives the sound a
+Stopped (X) note heads are used in guitar music to signal a place where the
+guitarist must play a certain note or chord, with its fingers just
+touching the strings instead of fully pressing them. This gives the sound a
percussive noise-like sound that still maintains part of the original
pitch. It is notated with cross noteheads; this is
demonstrated in @ref{Special noteheads}.
{ \grg G4 \grg a \grg b \grg c \grg d \grg e \grg f \grA g A }
@end lilypond
-Bagpipe music nominally uses the key of D Major (even though that
-isn't really true). However, since that is the only key that can be used,
-the key signature is normally not written out. To set this up correctly,
-always start your music with @code{\hideKeySignature}. If you for some
+Bagpipe music nominally uses the key of D Major (even though that
+isn't really true). However, since that is the only key that can be used,
+the key signature is normally not written out. To set this up correctly,
+always start your music with @code{\hideKeySignature}. If you for some
reason want to show the key signature, you can use @code{\showKeySignature}
instead.
Some modern music use cross fingering on c and f to flatten those notes.
This can be indicated by @code{cflat} or @code{fflat}. Similarly, the
-piobaireachd high g can be written @code{gflat} when it occurs in light
+piobaireachd high g can be written @code{gflat} when it occurs in light
music.
{
\hideKeySignature
\time 3/4
- \grg \partial 4 a8. d16
+ \grg \partial 4 a8. d16
\slurd d2 \grg f8[ e32 d16.]
\grg f2 \grg f8 e
\thrwd d2 \grg b4
@seealso
-In this manual: @ref{Rests} gives a general introduction into the use of
+In this manual: @ref{Rests} gives a general introduction into the use of
rests.
{
\set Score.timing = ##f
\set Score.barAlways = ##t
- s_\markup { "\\time 4/4" }^\markup { " " \musicglyph
+ s_\markup { "\\time 4/4" }^\markup { " " \musicglyph
#"timesig.neomensural44" }
s
- s_\markup { "\\time 2/2" }^\markup { " " \musicglyph
+ s_\markup { "\\time 2/2" }^\markup { " " \musicglyph
#"timesig.neomensural22" }
s
- s_\markup { "\\time 6/4" }^\markup { " " \musicglyph
+ s_\markup { "\\time 6/4" }^\markup { " " \musicglyph
#"timesig.neomensural64" }
s
- s_\markup { "\\time 6/8" }^\markup { " " \musicglyph
+ s_\markup { "\\time 6/8" }^\markup { " " \musicglyph
#"timesig.neomensural68" }
\break
- s_\markup { "\\time 3/2" }^\markup { " " \musicglyph
+ s_\markup { "\\time 3/2" }^\markup { " " \musicglyph
#"timesig.neomensural32" }
s
- s_\markup { "\\time 3/4" }^\markup { " " \musicglyph
+ s_\markup { "\\time 3/4" }^\markup { " " \musicglyph
#"timesig.neomensural34" }
s
- s_\markup { "\\time 9/4" }^\markup { " " \musicglyph
+ s_\markup { "\\time 9/4" }^\markup { " " \musicglyph
#"timesig.neomensural94" }
s
- s_\markup { "\\time 9/8" }^\markup { " " \musicglyph
+ s_\markup { "\\time 9/8" }^\markup { " " \musicglyph
#"timesig.neomensural98" }
\break
- s_\markup { "\\time 4/8" }^\markup { " " \musicglyph
+ s_\markup { "\\time 4/8" }^\markup { " " \musicglyph
#"timesig.neomensural48" }
s
- s_\markup { "\\time 2/4" }^\markup { " " \musicglyph
+ s_\markup { "\\time 2/4" }^\markup { " " \musicglyph
#"timesig.neomensural24" }
}
@end lilypond
fis gis
\set suggestAccidentals = ##t
ais bis
-@end lilypond
+@end lilypond
@seealso
c4 c c
}
\figures {
- \set useBassFigureExtenders = ##t
+ \set useBassFigureExtenders = ##t
<4 6> <3 6> <3 7>
}
>>
@noindent
In this case, the extender lines always replace existing figures.
-
+
The @code{FiguredBass} context doesn't pay attention to the actual
bass line. As a consequence, you may have to insert extra figures to
get extender lines below all notes, and you may have to add @code{\!}
@lilypond[relative=1]
<<
- \new Voice
+ \new Voice
\figures {
- \set useBassFigureExtenders = ##t
+ \set useBassFigureExtenders = ##t
<6 4->4. <6 4->16. <6 4->32 <5>8. r16 <6>8 <6\! 5->
}
{
When using continuation lines, common figures are always put in the
same vertical position. When this is unwanted, you can insert a rest
with @code{r}. The rest will clear any previous alignment. For
-example, you can write
+example, you can write
@example
<4 6>8 r8
@end example
@noindent
-instead of
+instead of
@example
<4 6>4
@end example
Accidentals and plus signs can appear before or after the numbers,
-depending on the @code{figuredBassAlterationDirection} and
+depending on the @code{figuredBassAlterationDirection} and
@code{figuredBassPlusDirection}
properties
@menu
-* Engraving::
-* Automated engraving::
-* What symbols to engrave?::
-* Music representation::
-* Example applications::
-* About this manual::
+* Engraving::
+* Automated engraving::
+* What symbols to engrave?::
+* Music representation::
+* Example applications::
+* About this manual::
@end menu
@end ifnotinfo
@ifinfo
@c workaround for makeinfo-4.6: line breaks and multi-column cookies
-@image{henle-flat-bw,,,png} @image{baer-flat-bw,,,png}
+@image{henle-flat-bw,,,png} @image{baer-flat-bw,,,png}
@image{lily-flat-bw,,,png}
@end ifinfo
\stemDown
b'8[ e'' a' e'']
\stemNeutral
- e'8[ e'8 e'8 e'8]
+ e'8[ e'8 e'8 e'8]
}
\score
\stemDown
b'8[ e'' a' e'']
\stemNeutral
- e'8[ e'8 e'8 e'8]
+ e'8[ e'8 e'8 e'8]
}
\score
{
eye deceives us a little; not only does it notice the distance between
note heads, it also takes into account the distance between
consecutive stems. As a result, the notes of an up-stem/@/down-stem
-combination should be put farther apart, and the notes of a
+combination should be put farther apart, and the notes of a
down-stem/@/up-stem
combination should be put closer together, all depending on the
combined vertical positions of the notes. The first two measures are
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
-\new Staff << \topVoice \\ \botVoice >>
+\new Staff << \topVoice \\ \botVoice >>
@end lilypond
In this situation, the accidentals and staff are shared, but the stems,
@noindent
Chords can be constructed with @code{<<} and @code{>>} enclosing the notes
-@c < > is not a music expression,
+@c < > is not a music expression,
@c so we use <<>> iso. <> to drive home the point of
@c expressions. Don't change this back --hwn.
@example
@end example
@noindent
-at the top of the @code{.ly} file.
+at the top of the @code{.ly} file.
@item -f,--format=@var{format}
which formats should be written. Choices are @code{svg}, @code{ps},
Postscript files include TTF, Type1 and OTF fonts. No subsetting of
these fonts is done. When using oriental character sets, this can
- lead to huge files.
-
+ lead to huge files.
+
@item eps
for encapsulated PostScript. This dumps every page (system) as a separate
@file{EPS} file, without fonts, and as one collated @file{EPS} file with
for SVG (Scalable Vector Graphics). This dumps every page as a separate
@file{SVG} file, with embedded fonts.
@cindex SVG (Scalable Vector Graphics)
- You need a SVG viewer which supports embedded fonts, or a SVG
- viewer which is able to replace the embedded fonts with OTF fonts.
- Under Unix, you may use @uref{http://www.inkscape.org,Inkscape}
- (version 0.42 or later), after copying the OTF fonts in directory
+ You need a SVG viewer which supports embedded fonts, or a SVG
+ viewer which is able to replace the embedded fonts with OTF fonts.
+ Under Unix, you may use @uref{http://www.inkscape.org,Inkscape}
+ (version 0.42 or later), after copying the OTF fonts in directory
@file{PATH/TO/share/lilypond/VERSION/fonts/otf/} to @file{~/.fonts/}.
@item scm
for a dump of the raw, internal Scheme-based drawing commands.
@cindex Scheme dump
@end table
-
+
@cindex output format, setting
@item -d,--define-default=@var{var}=@var{val}
Generate pictures of each page, in PNG format. This implies
@code{--ps}. The resolution in DPI of the image may be set with
@example
--dresolution=110
+-dresolution=110
@end example
@item --pdf
@item -j,--jail=@var{user},@var{group},@var{jail},@var{dir}
Run LilyPond in a chroot jail.
-The @code{--jail} option provides a more flexible alternative to
+The @code{--jail} option provides a more flexible alternative to
@code{--safe} when LilyPond formatting is available through a web
server or whenever LilyPond executes externally provided
sources.
The scripts (such as lilypond-book, convert-ly, abc2ly, etc.) are also
included inside MacOS X .app. They can be run from the command line by
-invoking them directly, e.g.
+invoking them directly, e.g.
@example
@var{path/to}/LilyPond.app/Contents/Resources/bin/convert-ly
-@end example
+@end example
Alternatively, you may add this directory to your path. Modify (or create)
a file called @code{.profile} in your home directory such that it contains
will guess this, on the basis of @code{\version} strings in the file.
@item -n,--no-version
-Normally, @command{convert-ly} adds a @code{\version} indicator
-to the output. Specifying this option suppresses this.
+Normally, @command{convert-ly} adds a @code{\version} indicator
+to the output. Specifying this option suppresses this.
@item -s, --show-rules
Show all known conversions and exit.
@end ignore
@verbatim
-There are a few things that the convert-ly cannot handle. Here's a list of
+There are a few things that the convert-ly cannot handle. Here's a list of
limitations
that the community has complained about.
-This bug report structure has been chosen because convert-ly has a structure
+This bug report structure has been chosen because convert-ly has a structure
that doesn't
-allow to smoothly implement all needed changes. Thus this is just a wishlist,
+allow to smoothly implement all needed changes. Thus this is just a wishlist,
placed
here for reference.
1.6->2.0:
- Doesn't always convert figured bass correctly, specifically things like {<
+ Doesn't always convert figured bass correctly, specifically things like {<
>}. Mats' comment on working around this:
To be able to run convert-ly
on it, I first replaced all occurencies of '{<' to some dummy like '{#'
and similarly I replaced '>}' with '&}'. After the conversion, I could
then change back from '{ #' to '{ <' and from '& }' to '> }'.
Doesn't convert all text markup correctly. In the old markup syntax,
- it was possible to group a number of markup commands together within
+ it was possible to group a number of markup commands together within
parentheses, e.g.
-#'((bold italic) "string")
This will incorrectly be converted into
-\markup{\bold \italic "string"}
2.0->2.2:
Doesn't handle \partcombine
- Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple
+ Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple
stanzas.
2.0->2.4:
\magnify isn't changed to \fontsize.
- \rced => \!
- \rc => \!
2.2->2.4:
- \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly
+ \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly
converted.
2.4.2->2.5.9
\markup{ \center-align <{ ... }> } should be converted to:
@end itemize
@ignore
-@c the bug database is not up to date enough.
+@c the bug database is not up to date enough.
When you've found a bug, have a look at our
@uref{http://@/lilypond@/.org/@/doc/@/v2.5/@/bugs/,bug database} to see if
When this functionality is active, LilyPond adds hyperlinks to the PDF
file. These hyperlinks are sent to the web-browser, which opens a
-text-editor with the cursor in the right place.
+text-editor with the cursor in the right place.
To make this chain work, you should configure your PDF viewer to
follow hyperlinks using the @file{lilypond-invoke-editor} script
\end{lilypond}
\begin{enumerate}
-\item Vers one. aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa
-\item Vers two. bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb
+\item Vers one. aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa
+\item Vers two. bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb
\end{enumerate}
\end{document}
% keep \documentclass on 1st line for lilypond-book auto-detection
%
-% This is way too long and hairy --
+% This is way too long and hairy --
%
%
\subsection{verb and verbatim}
-As you see, the begin/end verbatim command inside
+As you see, the begin/end verbatim command inside
does not confuse lilypond-book:
\verb|\begin[fragment]{lilypond}c d e\end{lilypond}|
\subsection{To float or not to float}
This music
\begin[fragment]{lilypond}
-c' e'
+c' e'
\end{lilypond}
should be floating inside the text by using the \verb|eps| options.
\pagebreak
Testing of spacing. The next music is surrounded by an empty line.
-text text text text text text text text text text text text
-text text text text text text text text text text text text
+text text text text text text text text text text text text
+text text text text text text text text text text text text
\begin{lilypond}
\score{ \relative c'{ c d e f g a b c} }
\end{lilypond}
-text text text text text text text text text text text text
-text text text text text text text text text text text text
-text text text text text text text text text text text text
+text text text text text text text text text text text text
+text text text text text text text text text text text text
+text text text text text text text text text text text text
Next has no empty lines.
-text text text text text text text text text text text text
-text text text text text text text text text text text text
-text text text text text text text text text text text text
+text text text text text text text text text text text text
+text text text text text text text text text text text text
+text text text text text text text text text text text text
\begin{lilypond}
\score{ \relative c'{ c d e f g a b c} }
\end{lilypond}
-text text text text text text text text text text text text
-text text text text text text text text text text text text
+text text text text text text text text text text text text
+text text text text text text text text text text text text
%% need to use an -I ../../../input/test to find the file
%% \lilypondfile{tie.ly}
-@c -*- coding: utf-8; mode: texinfo; -*-
+c -*- coding: utf-8; mode: texinfo; -*-
@ignore
This procedure may be applied to La@TeX{}, HTML or Texinfo documents.
@menu
-* An example of a musicological document::
-* Integrating LaTeX and music::
-* Integrating Texinfo and music::
-* Integrating HTML and music::
-* Music fragment options::
-* Invoking lilypond-book::
-* Filename extensions::
+* An example of a musicological document::
+* Integrating LaTeX and music::
+* Integrating Texinfo and music::
+* Integrating HTML and music::
+* Music fragment options::
+* Invoking lilypond-book::
+* Filename extensions::
@end menu
@end example
Running @command{lilypond-book} yields a file that can be further
-processed with La@TeX{}.
+processed with La@TeX{}.
We show some examples here. The lilypond environment
@code{\betweenLilyPondSystem[1]} is called between systems if
@code{lilypond-book} has split the snippet into several postscript
files. It must be defined as taking one parameter and will be
-passed the number of files already included in this snippet.
+passed the number of files already included in this snippet.
The default is to simply insert a @code{\linebreak}.
@ignore
install-info --info-dir=/usr/share/info out/lilypond.info
* Prepend GNU for dir, must be unique.
-
+
* Do not list the `lilypond' node at toplevel, so that `info lilypond'
goes to Top.
* List all commands in direntry.
-
+
@c * lilypond: (lilypond/lilypond)Running LilyPond. Invoking the
@c LilyPond program.
@end ignore
@dircategory GNU music project
@direntry
* LilyPond: (lilypond/lilypond). The GNU music typesetter.
-* abc2ly: (lilypond/lilypond)Invoking abc2ly. Importing ABC.
+* abc2ly: (lilypond/lilypond)Invoking abc2ly. Importing ABC.
* convert-ly: (lilypond/lilypond)Invoking convert-ly. Older LilyPond versions.
* etf2ly: (lilypond/lilypond)Invoking etf2ly. Importing Finale.
* lilypond-book: (lilypond/lilypond)LilyPond-book. Itegrating text and music.
* midi2ly: (lilypond/lilypond)Invoking midi2ly. Importing MIDI.
-* mup2ly: (lilypond/lilypond)Invoking mup2ly. Importing Mup.
+* mup2ly: (lilypond/lilypond)Invoking mup2ly. Importing Mup.
@end direntry
@ifhtml
-This document is also available as a
+This document is also available as a
@uref{source/Documentation/user/lilypond.pdf,PDF}.
@end ifhtml
\score {
\context Lyrics {
\override Score.RehearsalMark #'self-alignment-X = #LEFT
- \override Score.RehearsalMark #'font-size = #-2
+ \override Score.RehearsalMark #'font-size = #-2
\mark #(ly:export (string-append
"(For LilyPond version " (lilypond-version) ")"))
s2
@include macros.itexi
@include preface.itely
-@include introduction.itely
+@include introduction.itely
@include tutorial.itely
@include putting.itely
@include working.itely
Gardner Read, Music Notation: A Manual of Modern Practice.
Taplinger Publishing, New York (2nd edition).
-A standard work on music notation.
+A standard work on music notation.
@item Ross 1987
Ted Ross, Teach yourself the art of music engraving and processing.
@item Schirmer 2001
The G.Schirmer/AMP Manual of Style and Usage. G.Schirmer/AMP, NY, 2001.
-(This book can be ordered from the rental department.)
+(This book can be ordered from the rental department.)
This manual specifically focuses on preparing print for publication by
Schirmer. It discusses many details that are not in other, normal
@ref{\NAME\,,,music-glossary}@c
@findex \NAME\
@end macro
-
+
@end ifhtml
@ref{\NAME\,,,lilypond-internals}@c
@findex @code{\NAME\}
@end macro
-
+
@macro inputfileref{DIR,NAME}
@uref{source/\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
@end macro
@macro refcommand{WHAT}
@findex \WHAT\
-@code{\WHAT\}
+@code{\WHAT\}
@end macro
@macro commonprop
@end direntry
@ifhtml
-This document is also available in
+This document is also available in
@uref{source/Documentation/user/music-glossary.pdf,PDF}
and as @uref{source/Documentation/user/music-glossary.html,one big page}.
@end ifhtml
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation,
without Invariant Sections.
-
+
@end titlepage
ES: alteración,
I: alterazione
F: altération
-D:
+D:
NL: verhoging of verlaging,
DK:
S:
NL: cent,
DK: cent,
S: cent,
-FI: sentti, puolisävelaskeleen sadasosa tasavireisessä
+FI: sentti, puolisävelaskeleen sadasosa tasavireisessä
viritysjärjestelmässä.
Logarithmic unit of measurement. 1@tie{}cent is 1/1200 of an octave (1/100
S: ackord,
FI: sointu.
-Three or more tones sounding simultaneously. In traditional European music
+Three or more tones sounding simultaneously. In traditional European music
the
-base chord is a @emph{triad} consisting of 2@w{ }thirds. @emph{Major} (major
+base chord is a @emph{triad} consisting of 2@w{ }thirds. @emph{Major} (major
+
minor @aref{third}) as well as @emph{minor} (minor + major third)
chords may be extended with more thirds. Four-tone @emph{seventh chords}
}
}
@end lilypond
-
+
@node D
@section D
S: hoppande rörelse,
FI: melodian hyppivä liike.
-Progressing melodically by intervals larger than a major second.
+Progressing melodically by intervals larger than a major second.
Opposite of @aref{conjunct movement}.
@lilypond[fragment,ragged-right]
S: intervall,
FI: intervalli, kahden sävelen korkeusero.
-Difference in pitch between two notes. Intervals may be perfect, minor,
+Difference in pitch between two notes. Intervals may be perfect, minor,
major,
diminished, or augmented. The augmented fourth and the diminished fifth are
identical (@aref{enharmonic}) and are called @emph{tritonus}
S: legato,
FI: legato, sitoen.
-To be performed (a) without any perceptible interruption between the notes,
+To be performed (a) without any perceptible interruption between the notes,
unlike (b) @emph{leggiero} or @emph{non-legato}, (c) @emph{portato}, and
(d) @aref{staccato}.
@node melisma
@section melisma
-NL: melisma,
+NL: melisma,
FI: melisma, laulettavan tavun sävelkuvio.
A melisma (plural: melismata) is a group of notes or tones sung on one
FI: nuotin aika-arvo.
Note values (durations) are measured as fractions, normally 1/2, of the next
-higher note value. The longest duration normally used is called
+higher note value. The longest duration normally used is called
@emph{brevis},
but sometimes (mostly in pre-baroque music) the double length note value
@emph{longa} is used.
>>
@end lilypond
-Other frequently used ornaments are the @emph{turn}, the @emph{mordent}, and
+Other frequently used ornaments are the @emph{turn}, the @emph{mordent}, and
the
@emph{prall} (inverted mordent).
NL: syntonische komma,
DK: syntonisk komma,
S: syntoniskt komma,
-FI: syntoninen komma, terssien taajuusero luonnollisessa ja Pytagorisessa
+FI: syntoninen komma, terssien taajuusero luonnollisessa ja Pytagorisessa
viritysjärjestelmässä.
Difference between the natural third and the third obtained by Pythagorean
FI: viritysavain.
A two-pronged piece of steel used to indicate absolute pitch. Tuning forks
-give the international pitch for the tone @emph{a} (440 vibrations per
+give the international pitch for the tone @emph{a} (440 vibrations per
second).
@node turn
@c @multitable @columnfractions .105 .145 .125 .125 .125 .125 .125 .125
@multitable @columnfractions .11 .14 .14 .11 .1 .1 .1 .1 .1
-@item @tab @strong{ES} @tab @strong{I} @tab @strong{F} @tab @strong{D}
-@tab @strong{NL} @tab @strong{DK} @tab @strong{S} @tab @strong{FI}
+@item @tab @strong{ES} @tab @strong{I} @tab @strong{F} @tab @strong{D}
+@tab @strong{NL} @tab @strong{DK} @tab @strong{S} @tab @strong{FI}
@item
@item
-@item @strong{c-sharp} @tab do diesis @tab do diesis @tab ut dièse @tab
+@item @strong{c-sharp} @tab do diesis @tab do diesis @tab ut dièse @tab
Cis @tab cis @tab
cis @tab cis @tab cis
@item
-@item @strong{d-flat} @tab re bemolle @tab re bemolle @tab ré bémol @tab
+@item @strong{d-flat} @tab re bemolle @tab re bemolle @tab ré bémol @tab
Des @tab des @tab
des @tab des @tab des
@item
-@item @strong{g} @tab sol @tab sol @tab sol @tab G @tab g @tab g @tab g
+@item @strong{g} @tab sol @tab sol @tab sol @tab G @tab g @tab g @tab g
@tab g
@item
-@item @strong{a-flat} @tab la bemol @tab la bemolle @tab la bémol @tab As
+@item @strong{a-flat} @tab la bemol @tab la bemolle @tab la bémol @tab As
@tab as @tab as
@tab as @tab as
@item
-@item @strong{a-sharp} @tab la sostenido @tab la diesis @tab la dièse @tab
+@item @strong{a-sharp} @tab la sostenido @tab la diesis @tab la dièse @tab
Ais @tab ais @tab
ais @tab ais @tab ais
@item
-@item @strong{b-flat} @tab si bemol @tab si bemolle @tab si bémol @tab B
+@item @strong{b-flat} @tab si bemol @tab si bemolle @tab si bémol @tab B
@tab bes @tab b
@tab b @tab b
The following is a list of names that can be used for the
@code{midiInstrument} property.
-@example
+@example
acoustic grand contrabass lead 7 (fifths)
bright acoustic tremolo strings lead 8 (bass+lead)
electric grand pizzicato strings pad 1 (new age)
synth bass 2 lead 3 (calliope) helicopter
violin lead 4 (chiff) applause
viola lead 5 (charang) gunshot
-cello lead 6 (voice)
-@end example
+cello lead 6 (voice)
+@end example
@node List of colors
(e.g. ``LightSlateBlue'') can also be spelled as space separated
words without capitalisation (e.g. ``light slate blue'').
-The word ``grey'' can always be spelled ``gray'' (e.g. ``DarkSlateGray'').
+The word ``grey'' can always be spelled ``gray'' (e.g. ``DarkSlateGray'').
Some names can take a numerical suffix (e.g. ``LightSalmon4'').
When this functionality is active, LilyPond adds hyperlinks to the PDF
file. These hyperlinks are sent to the web-browser, which opens a
-text-editor with the cursor in the right place.
+text-editor with the cursor in the right place.
To make this chain work, you should configure your PDF viewer to
follow hyperlinks using the @file{lilypond-invoke-editor} script
@end menu
@node Overview of music functions
-@subsection Overview of music functions
+@subsection Overview of music functions
Making a funcion which substitutes a variable into LilyPond
code is easy. The general form of these functions is
c4^"piu mosso" d e f
\padText #2.6
c4^"piu mosso" fis a g
-}
+}
@end lilypond
Music expressions may be substituted as well,
@lilypond[quote,verbatim,ragged-right]
custosNote = #(define-music-function (parser location note)
(ly:music?)
- #{
- \once \override Voice.NoteHead #'stencil =
+ #{
+ \once \override Voice.NoteHead #'stencil =
#ly:text-interface::print
- \once \override Voice.NoteHead #'text =
+ \once \override Voice.NoteHead #'text =
\markup \musicglyph #"custodes.mensural.u0"
- \once \override Voice.Stem #'stencil = ##f
+ \once \override Voice.Stem #'stencil = ##f
$note
#})
@lilypond[quote,verbatim,ragged-right]
tempoMark = #(define-music-function (parser location padding marktext)
- (number? string?)
+ (number? string?)
#{
\once \override Score . RehearsalMark #'padding = $padding
\once \override Score . RehearsalMark #'no-spacing-rods = ##t
(number? number?)
#{
\once \override Beam #'positions = #(cons $beg $end)
-#})
+#})
\relative {
\manualBeam #3 #6 c8 d e f
}
-@end lilypond
+@end lilypond
@node Mathematics in functions
addition to simple substitution,
@lilypond[quote,verbatim,ragged-right]
-AltOn = #(define-music-function (parser location mag) (number?)
+AltOn = #(define-music-function (parser location mag) (number?)
#{ \override Stem #'length = #$(* 7.0 mag)
- \override NoteHead #'font-size =
+ \override NoteHead #'font-size =
#$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag))) #})
AltOff = {
\revert Stem #'length
- \revert NoteHead #'font-size
+ \revert NoteHead #'font-size
}
{ c'2 \AltOn #0.5 c'4 c'
This example may be rewritten to pass in music expressions,
@lilypond[quote,verbatim,ragged-right]
-withAlt = #(define-music-function (parser location mag music) (number? ly:music?)
+withAlt = #(define-music-function (parser location mag music) (number? ly:music?)
#{ \override Stem #'length = #$(* 7.0 mag)
- \override NoteHead #'font-size =
+ \override NoteHead #'font-size =
#$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
$music
\revert Stem #'length
@end example
`@code{let}' is used to declare local variables. Here we use one local
-variable, named `@code{result-event-chord}', to which we give the value
+variable, named `@code{result-event-chord}', to which we give the value
@code{(ly:music-deep-copy event-chord)}. `@code{ly:music-deep-copy}' is
a function specific to LilyPond, like all functions prefixed by
`@code{ly:}'. It is use to make a copy of a music
@code{EventChord} which was given as an argument, because it may be
used elsewhere.
-Now we have a @code{result-event-chord}, which is a
+Now we have a @code{result-event-chord}, which is a
@code{oteEventChord} expression and is a copy of @code{event-chord}. We
add the marcato to its elements list property.
@node Markup construction in Scheme
@subsection Markup construction in Scheme
-@cindex defining markup commands
+@cindex defining markup commands
The @code{markup} macro builds markup expressions in Scheme while
providing a LilyPond-like syntax. For example,
@multitable @columnfractions .3 .3
@item @b{LilyPond} @tab @b{Scheme}
@item @code{\markup markup1} @tab @code{(markup markup1)}
-@item @code{\markup @{ markup1 markup2 ... @}} @tab
+@item @code{\markup @{ markup1 markup2 ... @}} @tab
@code{(markup markup1 markup2 ... )}
@item @code{\command} @tab @code{#:command}
@item @code{\variable} @tab @code{variable}
@item layout
the `layout' definition
@item props
-a list of alists, containing all active properties.
+a list of alists, containing all active properties.
@end table
As a simple example, we show how to add a @code{\smallcaps} command,
#(define-markup-command (character layout props name) (string?)
"Print the character name in small caps, translated to the left and
top. Syntax: \\character #\"name\""
- (interpret-markup layout props
+ (interpret-markup layout props
(markup #:hspace 0 #:translate (cons -3 1) #:smallcaps name)))
@end example
#(define-markup-command (character layout props name) (string?)
"Print the character name in small caps, translated to the left and
top. Syntax: \\character #\"name\""
- (interpret-markup layout props
+ (interpret-markup layout props
(markup #:hspace 0 #:translate (cons -3 1) #:smallcaps name)))
{
its argument,
@lilypond[quote,verbatim,ragged-right]
#(define (rev-music-1 m)
- (ly:music-set-property! m 'elements
+ (ly:music-set-property! m 'elements
(reverse (ly:music-property m 'elements)))
m)
-\applyMusic #rev-music-1 { c'4 d'4 }
+\applyMusic #rev-music-1 { c'4 d'4 }
@end lilypond
The use of such a function is very limited. The effect of this
automatically (@inputfileref{input/@/test,unfold@/-all@/-repeats@/.ly}),
saving keystrokes (@inputfileref{input/@/test,music@/-box@/.ly}) and
exporting LilyPond input to other formats
-@c no @inputfileref{} here
+@c no @inputfileref{} here
(eg. @file{input/@/no@/-notation/@/to@/-xml@/.ly}).
@seealso
@example
mynotes = @{ \override Stem #'thickness = #4
@{ c'8 d' @} @}
-
+
#(define mynotes #@{ \override Stem #'thickness = #4
@{ c'8 d' @} #@})
@end example
a4 b c d
@}
-
+
\score @{
\new Staff \melody
\layout @{ @}
@item Numbers
Numbers are entered in the standard fashion,
@code{1} is the (integer) number one, while @code{-1.5} is a
-floating point number (a non-integer number).
+floating point number (a non-integer number).
@item Strings
Strings are enclosed in double quotes,
mark @code{#}. So, the previous examples translated in LilyPond are
@example
-##t ##f
+##t ##f
#1 #-1.5
#"this is a string"
#"this
@lisp
#(+ 1 2)
- @result{} #3
+ @result{} #3
@end lisp
The arrow @result{} shows that the result of evaluating @code{(+ 1 2)}
@lisp
#(+ 1 (* 3 4))
- @result{} #(+ 1 12)
+ @result{} #(+ 1 12)
@result{} #13
@end lisp
These calculations are examples of evaluations; an expression like
@code{(* 3 4)} is replaced by its value @code{12}. A similar thing
-happens with variables. After defining a variable
+happens with variables. After defining a variable
@example
-twelve = #12
+twelve = #12
@end example
@noindent
variables can also be used in expressions, here
@example
-twentyFour = #(* 2 twelve)
-@end example
+twentyFour = #(* 2 twelve)
+@end example
@noindent
the number 24 is stored in the variable @code{twentyFour}.
while @code{twentyFour} is an identifier.
@cindex properties vs. identifiers
-@cindex identifiers vs. properties
+@cindex identifiers vs. properties
Two-dimensional offsets (X and Y coordinates) as well as object sizes
(intervals with a left and right point) are entered as @code{pairs}. A
is entered as @code{(first . second)} and, like symbols, they must be quoted,
@example
-\override TextScript #'extra-offset = #'(1 . 2)
-@end example
+\override TextScript #'extra-offset = #'(1 . 2)
+@end example
This assigns the pair (1, 2) to the @code{extra-offset} property of the
TextScript object. These numbers are measured in staff-spaces, so
@c A clef here may lead to confusion, remove it.
@lilypond[fragment,quote]
-\override Staff.Clef #'transparent = ##t
+\override Staff.Clef #'transparent = ##t
\time 3/4
s4_" "
\time 6/8
@quotation
@table @asis
@item Entering pitches and durations
-see
+see
@ref{Pitches}, and @ref{Durations}.
@item Clefs
see @ref{Clef}.
@item Rests
-see @ref{Rests}.
+see @ref{Rests}.
@item Time signatures and other timing commands
see @ref{Time signature}.
@end table
Processing `test.ly'
Parsing...
Interpreting music... [1]
-Preprocessing graphical objects...
+Preprocessing graphical objects...
Calculating line breaks... [2]
Layout output to `test.ps'...
Converting to `test.pdf'...
available package for viewing and printing PDF and PostScript files.}
@node More about pitches
-@section More about pitches
+@section More about pitches
A @rglos{sharp} (@texisharp{}) pitch is made by adding @samp{is} to
the name, a @rglos{flat} (@texiflat{}) pitch by adding @samp{es}. As
@node Automatic and manual beams
@section Automatic and manual beams
-@cindex beams, by hand
+@cindex beams, by hand
All @rglos{beam}s are drawn automatically
@lilypond[quote,fragment,relative=2,verbatim]
@c tie) examples...
@c better to have this just before the `octaves are bad' snipped
-@c but we'd need to remove the ', from \key and tie
+@c but we'd need to remove the ', from \key and tie
To raise a note by an octave, add a high quote @code{'} (apostrophe) to
the note name, to lower a note one octave, add a `low quote' @code{,}
(comma). Middle C is @code{c'}
\key a \major
\time 6/8
cis''8. d''16 cis''8 e''4 e''8
-b'8. cis''16 b'8 d''4 d''8
+b'8. cis''16 b'8 d''4 d''8
@end lilypond
@noindent
In input files, music is represent by so-called @emph{music
-expression}s. We have already seen some in the previous examples;
+expression}s. We have already seen some in the previous examples;
a single note is a music expression
@lilypond[fragment,quote,verbatim,relative=3]
notes
@lilypond[fragment,quote,verbatim,relative=3]
-{ { a4 g } f g }
+{ { a4 g } f g }
@end lilypond
This technique is useful for non-monophonic music. To enter music
LilyPond looks at the first element. If it is a single note, there is one
staff; if there is a simultaneous expression, there is more than one staff.
-@lilypond[fragment,quote,verbatim,relative=2]
+@lilypond[fragment,quote,verbatim,relative=2]
{
c <<c e>>
<< { e f } { c <<b d>> } >>
\relative <<
\new Staff {
\time 3/4
- \clef treble
-
+ \clef treble
+
e'2 d4 c2 b4 a8[ a]
- b[ b] g[ g] a2.
+ b[ b] g[ g] a2.
}
\new Staff {
\clef bass
are ignored, since they are in a
block comment.
- g g f f e e d d c2
+ g g f f e e d d c2
%@}
@end example
@example
@{ I want to break free __ @}
-@end example
+@end example
@lilypond[fragment,quote,ragged-right]
<<
of @code{\chordmode}. This uses the same syntax as @code{\chordmode},
but renders the notes in a @code{ChordNames} context, with the
following result.
-
+
@lilypond[quote,verbatim,ragged-right]
\chords { c2 f4.:m g4.:maj7 gis8:dim7 }
@end lilypond
@lilypond[quote,ragged-right]
<<
- \chords { r2 c:sus4 f }
+ \chords { r2 c:sus4 f }
\relative {
r4 c' \times 2/3 { f g g }
\times 2/3 { g4( a2) }
@{@tie{}@dots{}@tie{}@}}. The @code{\header} block is usually put at
the top of the file. For example,
-@example
+@example
\header @{
- title = "Miniature"
+ title = "Miniature"
composer = "Igor Stravinsky"
@}
>>
@end lilypond
-More information on formatting piano music is given in @ref{Piano music}.
+More information on formatting piano music is given in @ref{Piano music}.
@node Organizing larger pieces
@lilypond[quote,ragged-right]
\transpose f c' \relative c {
\time 2/4
- \set Score.skipBars = ##t
+ \set Score.skipBars = ##t
R2*3
r4 f8 a cis4 f e d
}
@end example
@noindent
-leading to
+leading to
@lilypond[quote,ragged-right]
\relative c <<
can move it horizontally or vertically. This is done with the
@code{extra-offset} property. It is slightly more complicated and can
cause other problems. When we move objects with @code{extra-offset},
-the movement is done after LilyPond has placed all other objects. This
+the movement is done after LilyPond has placed all other objects. This
means
that the result can overlap with other objects.
using a few years ago. @code{convert-ly} requires you to declare
which version of LilyPond you used.
-@item @strong{Include checks}: @ref{Bar check} and @ref{Octave check}. If
+@item @strong{Include checks}: @ref{Bar check} and @ref{Octave check}. If
you
include checks every so often, then if you make a mistake, you can pinpoint
it quicker. How often is ``every so often''? It depends on the complexity
of the music. For very simple music, perhaps just once or twice. For
very complex music, perhaps every bar.
-@item @strong{One bar per line of text}. If there is anything complicated,
+@item @strong{One bar per line of text}. If there is anything complicated,
either in the music
itself or in the output you desire, it's often good to write only one bar
per line. Saving screen space by cramming eight bars per line just isn't
worth it if you have to `debug' your files.
-@item @strong{Comment your files}. Use either bar numbers (every so often)
+@item @strong{Comment your files}. Use either bar numbers (every so often)
or
-references to musical themes (``second theme in violins,'' ``fourth
+references to musical themes (``second theme in violins,'' ``fourth
variation'', etc). You may not need comments when you're writing the piece
-for the first time, but if you want to go back to change something two or
-three years later, or if you pass the source over to a friend, it will
+for the first time, but if you want to go back to change something two or
+three years later, or if you pass the source over to a friend, it will
be much more
-challenging to determine your intentions or how your file is structured if
+challenging to determine your intentions or how your file is structured if
you didn't comment the file.
-@item @strong{Indent your braces}. A lot of problems are caused by an
+@item @strong{Indent your braces}. A lot of problems are caused by an
imbalance
in the number of @code{@{} and @code{@}}.
violin = \relative c'' @{
\repeat volta 2 @{
c4._\markup@{ \italic \bold dolce @} b8 a8 g a b |
- \once \override TextScript #'padding = #5.0
+ \once \override TextScript #'padding = #5.0
c4.^"hi there!" d8 e' f g d |
c,4.\markup@{ \dynamic f \italic \small @{ 2nd @}
\hspace #0.1 \dynamic p @} b8 c4 c-. |