* Documentation/user/*.itely: fix overfull hboxes.
+2002-08-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * Documentation/user/lilypond-book.itely: small cleanups
+
+ * Documentation/user/*.itely: fix overfull hboxes.
+
2002-08-19 Jan Nieuwenhuizen <janneke@gnu.org>
* Documentation/user/tutorial.itely (A piano excerpt):
@cindex ABC
-ABC is a fairly simple ASCII based format. It is described at
-@uref{http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt}. abc2ly
-translates from ABC to LilyPond. It is invoked as follows:
+ABC is a fairly simple ASCII based format. It is described at the abc site:
+@quotation
+@uref{http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt}
+@end quotation
+abc2ly translates from ABC to LilyPond. It is invoked as follows:
@example
abc2ly [@var{option}]@dots{} @var{abc-file}
\property Staff.NoteSpacing \set #'stem-spacing-correction
= #0.6
c'4 e''4 e'4 b'4 |
- b'4 e''4 \stemDown e'4 e''4| \stemBoth
+ \stemDown b'4 e''4 a'4 e''4| \stemBoth
\property Staff.NoteSpacing \override #'stem-spacing-correction
= #0.0
\property Staff.StaffSpacing \override #'stem-spacing-correction
= #0.0
c'4 e''4 e'4 b'4 |
- b'4 e''4 \stemDown e'4 e''4|
+ \stemDown b'4 e''4 a'4 e''4|
}
\paper { linewidth = -1. } }
@end lilypond
For processing both the @TeX{} and the PostScript output, you must
-have appropriate environment variables set. Scripts to do this are
-included in @file{buildscripts/out/lilypond-profile} (for sh shells)
-and @file{buildscripts/out/lilypond-login} (for C-shells), and should
-normally be sourced as part of your login process. If these scripts
-are not run from the system wide login process, then you must run it
-yourself.
+have appropriate environment variables set. The following scripts do
+this:
+
+@itemize @bullet
+@item @file{buildscripts/out/lilypond-profile}
+(for sh shells)
+@item @file{buildscripts/out/lilypond-login} (for C-shells)
+@end itemize
+
+They should normally be sourced as part of your login process. If
+these scripts are not run from the system wide login process, then you
+must run it yourself.
@cindex installing LilyPond
@c fix this node name , this is too long.
-@node Insert music snippets into your texts using lilypond-book
-@chapter Insert music snippets into your texts using lilypond-book
+@node lilypond-book: Integrating text and music
+@chapter lilypond-book: Integrating text and music
If you want to add pictures of music to a document, you can simply do
it the way you would do with other types of pictures. You write
@code{html} source.
@command{lilypond-book} provides you with a way to automate this
-process: this program will extract snippets of music from your
-document, run lilypond on them, and substitute the resulting pictures
-back. This works for La@TeX{}, @code{html} or texinfo documents.
-@code{lilypond-book} introduces some extra LilyPond specific
-constructs, that integrate seamlessly with the rest of your source
-document.
+process: this program extracts snippets of music from your document,
+runs lilypond on them, and substitutes the resulting pictures back.
+The line width and font size definitions for the music are adjusted so
+they match the layout of your document.
+
+It can work on La@TeX{}, @code{html} or texinfo documents. A tutorial
+on using lilypond-book is in @ref{integrating text and music}.
+
@cindex texinfo
@cindex latex
@cindex documents, adding music to
-More precisely, if a La@TeX{} file contains
-@example
-
- \begin@{lilypond@}
- CONTENTS
- \end@{lilypond@}
-
-@end example
-or
-@example
- \lilypond@{CONTENTS@}
-@end example
-then LilyPond is run on CONTENTS. @command{lilypond-book} puts the
-result back into the latex file. When you run the result through latex,
-you get a document that mixes text and music. lilypond-book will insert
-line width and font size definitions before @code{CONTENTS}, so the
-music samples will match the layout of your document.
-
-Very often, if you mix music and text, the music is only a few
-notes or at most a few bars. This music should be as short as possible
-and not stretched to be aligned to the right margin. lilypond-book does
-this automatically if you don't use a @code{\score} block in
-@code{CONTENTS}. For example: @code{\lilypond@{\context Voice <c' e' g'>
-@}}.
-
-You can also use @code{lilypondfile} to include another file:
-@example
- \lilypondfile@{foo.ly@}
-@end example
-
-All three forms can take several options. They are specified in brackets
-as follows:
-@example
- \lilypondfile[options, go, here]@{ .. @}
- \begin[options, go, here]@{lilypond@} .. \end@{lilypond@}
- \lilypond[options, go,here]@{ .. @}
-@end example
-
-In the Texinfo version, bitmaps of the music are also generated, so you
-can make a HTML document with embedded music.
-
-
-@section Texinfo reference
+@node Integrating Texinfo and music
+@section Integrating Texinfo and music
You specify the LilyPond code like this:
@example
@end itemize
@code{@@pagesizes} are not yet supported.
-@section La@TeX{} reference
+When producing texinfo, lilypond-book also generates bitmaps of the
+music, so you can make a HTML document with embedded music.
+
+@node Integrating La@TeX{} and music
+@section Integrating La@TeX{} and music
You specify the LilyPond code like this:
@example
to whatever he wants.
-@section HTML reference
+@node Integrating HTML and music
+@section Integrating HTML and music
You specify the LilyPond code like this:
@end example
@end quotation
-@c Huh? ugh, can't show inline pictures in texinfo?
+@node Music fragment options
+@section Music fragment options
-@c Some music in @lilypond{a b c} a line of text.
-
-
-
-@section Options
+The commands for lilypond-book have room to specify options. These are
+all of the options:
@table @code
@item eps
starting note.
@end table
-@section Invocation
+@node Invoking lilypond-book
+@section Invoking lilypond-book
When you run @command{lilypond-book} it will generate lots of small
files that LilyPond will process. So to avoid all the garbage in
Specify the document type to process: @code{html}, @code{latex} or
@code{texi} (default). @command{lilypond-book} usually figures this
out automatically.
+
@item --default-music-fontsize=@var{sz}pt
Set the fontsize to use for LilyPond if no fontsize is given
as option.
lilypond-book --read-lys
@end example
-[TODO not a useful option unless you can undump the input file]
-
@item --outname=@var{FILE}
The name of La@TeX{} file to output. If this option is not given,
the output name is derived from the input name.
Almost all La@TeX{} commands that change margins and line widths are
ignored.
-There is no way to automatically apply convert-ly to fragments inside a
-lilypond-book file.
+There is no way to automatically apply convert-ly only to fragments
+inside a lilypond-book file.
@file{lilypond-book} processes all music fragments in one big run. The
state of the GUILE interpreter is not reset between fragments; this
-means that GUILE definitions, eg. done with @code{#(define .. )} and
-@code{#(set! .. )} can leak from one fragment into a next fragment.
+means that global GUILE definitions, eg. done with @code{#(define
+.. )} and @code{#(set! .. )} can leak from one fragment into a next
+fragment.
@mbinclude dedication.itely
@menu
-* Preface:: Preface.
-* Introduction:: What, Why, How.
-* Tutorial:: A tutorial introduction to LilyPond.
-* Reference Manual:: Reference Manual.
-* Advanced Topics:: How it all works.
-* Invoking LilyPond:: Operation.
-* Converting from other formats:: Converting to lilypond source format.
-* Insert music snippets into your texts using lilypond-book::
- The lilypond-book manual.
-* Literature:: Additional reading material.
-* Index:: Unified index.
-* Refman appendix::
-* GNU Free Documentation License:: FDL.
+* Index:: Unified index.
@end menu
@end ifnottex
@itemize @bullet
@item
-@uref{http://denemo.sourceforge.net/, Denemo} was once intended as
+Denemo was once intended as
a LilyPond graphical user interface. It run on Gnome/GTK.
+
+@quotation
+@uref{http://denemo.sourceforge.net/}
+@end quotation
+
@item
-@uref{http://rnvs.informatik.tu-chemnitz.de/~jan/noteedit/noteedit.html, Noteedit}
- is a graphical score editor that runs under KDE/Qt.
+ Noteedit, a graphical score editor that runs under KDE/Qt.
+@quotation
+@uref{http://rnvs.informatik.tu-chemnitz.de/~jan/noteedit/noteedit.html,}
+@end quotation
+
@item
-@uref{http://rosegarden.sf.net/, RoseGarden}
- was the inspiration for naming LilyPond. Nowadays it has been
-rewritten from scratch and supports LilyPond export as of version
-0.1.6.
+RoseGarden was once the inspiration for naming LilyPond. Nowadays it
+has been rewritten from scratch and supports LilyPond export as of
+version 0.1.6.
+
+@quotation
+@uref{http://rosegarden.sf.net/}
+@end quotation
@end itemize
Another option is to enter the music using your favorite MIDI
@lilypond[fragment,verbatim]
\context TabStaff <
- \notes @{
+ \notes {
\property Staff.Stem \override #'direction = #1
a,4-2 c'-5 a-4 e'-6
e-3 c'-5 a-4 e'-6
- @}
+ }
>
@end lilypond
\score {
\notes\relative c'' {
- a1^#`((columns (font-relative-size . -1)) ,dotted-eight-note " = 64")
+ a1^#`((columns (font-relative-size . -1))
+ ,dotted-eight-note " = 64")
}
\paper {
linewidth = -1.
distributed vertically on the last page. This might produce ugly
results in case there are not enough systems on the last page. Note
that @command{lilypond-book} ignores @code{lastpagefill}. See
-@ref{Insert music snippets into your texts using lilypond-book} for
+@ref{lilypond-book: integrating text and music} for
more information.
@cindex @code{lastpagefill}
+
+test
LilyPond development is hosted at http://savannah.gnu.org/projects/lilypond
Here is a simple explanation of the directory layout for LilyPond's
(molecule-callback . ,tablature-molecule-callback)
(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
(stem-attachment-function . ,tablature-stem-attachment-function)
- (meta . ((interfaces . (rhythmic-head-interface font-interface note-head-interface staff-symbol-referencer-interface item-interface ))))
+ (meta . ((interfaces
+ . (rhythmic-head-interface
+ font-interface
+ note-head-interface staff-symbol-referencer-interface
+ text-interface item-interface ))))
))
(translator-property-description 'subdivideBeams boolean? "If set, multiple beams will be subdivided at beat
positions - by only drawing one beam over the beat.")
(translator-property-description 'systemStartDelimiter symbol? "Which grob to make for the start of the system/staff?")
+(translator-property-description 'tablatureFormat procedure?
+ "Function formatting a tab notehead; it takes
+a string number, a list of string tunings and Pitch object. It returns the text as a string.")
+
(translator-property-description 'textNonEmpty boolean? " If set
to true then text placed above or below the staff is not assumed to
have zero width. @code{\fatText} and @code{\emptyText} are predefined
settings.
.")
-(translator-property-description 'tablatureFormat procedure? "DOCME.")
(translator-property-description 'tieMelismaBusy boolean? "Signal ties when automaticMelismata is set.")
(translator-property-description 'timeSignatureFraction number-pair? "
pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4time signature.")