]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.2.12
authorfred <fred>
Tue, 26 Mar 2002 22:48:20 +0000 (22:48 +0000)
committerfred <fred>
Tue, 26 Mar 2002 22:48:20 +0000 (22:48 +0000)
Documentation/hacking.texi [deleted file]
Documentation/tex/GNUmakefile [deleted file]
Documentation/tex/feta.tex [deleted file]
Documentation/tex/glossary-table.data [deleted file]
Documentation/tex/mudela-book-doc.doc [deleted file]
Documentation/tex/reference-manual.tely [deleted file]
Documentation/tex/regression-test.tely [deleted file]
Documentation/tex/testje.fly [deleted file]
Documentation/tex/tutorial.tely [deleted file]

diff --git a/Documentation/hacking.texi b/Documentation/hacking.texi
deleted file mode 100644 (file)
index f5cdd9c..0000000
+++ /dev/null
@@ -1,816 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@setfilename internals.info
-@settitle LilyPond internals
-
-@node Top, LilyPond internals, (dir), (dir)
-@top
-
-
-@menu
-* LilyPond internals::
-* Overview::
-* mudela::                      
-* Request_engraver::            
-* Items and spanners::          
-* Dependencies::                
-* Breaking::                    
-* Coding standards::
-* Making patches::
-@end menu
-
-@node LilyPond internals,  , Top, Top
-@menu
-* Overview::                      Overview
-* mudela::                        mudela
-* Request_engraver::              Request_engraver
-* Items and spanners::            Items and spanners
-* Dependencies::                  Dependencies
-* Breaking::                      Breaking
-@end menu
-
-@chapter LilyPond internals
-
-
-This documents some aspects of the internals of GNU LilyPond. Some of
-this stuff comes from e-mail I wrote, some from e-mail others wrote,
-some are large comments taken away from the headers. This page may be
-a little incoherent.  Unfortunately, it is also quite outdated.  A
-more thorough  and understandable document is in the works.
-
-You should use @code{doc++} to take a peek at the sources.
-
-@node Overview, mudela, Top, Top
-@section Overview
-
-GNU LilyPond is a "multi-pass" system. The different passes have been
-created so that they do not depend on each other. In a later stage
-some parts may be moved into libraries, or seperate programs, or they
-might be integrated in larger systems.
-
-@table @samp
-
-@item Parsing:
-
-No difficult algorithms. The .ly file is read, and converted to a list
-of @code{Scores}, which each contain @code{Music} and paper/midi-definitions.
-
-@item Interpreting music
-
-The music is walked through in time-order. The iterators which do the
-walking report Music to Translators which use this information to
-create elements, either MIDI or "visual" elements. The translators
-form a hierarchy; the ones for paper output are Engravers, for MIDI
-Performers.
-
-The translators swallow Music (mostly atomic gobs called Requests),
-create elements, broadcast them to other translators on higher or same
-level in the hierarchy:
-
-The stem of a voice A is broadcast to the staff which contains A, but
-not to the stems, beams and noteheads of a different voice (say B) or
-a different staff. The stem and noteheads of A are coupled, because
-the the Note_heads_engraver broadcasts its heads, and the Stem_engraver catches
-these.
-
-The engraver which agrees to handle a request decides whether to to
-honor the request, ignore it, or merge it with other requests. Merging
-of requests is preferably done with other requests done by members of
-the same voicegroups (beams, brackets, stems). In this way you can put
-the voices of 2 instruments in a conductor's score so they make chords
-(the Beam requests of both instruments will be merged).
-
-@item Prebreaking
-
-Breakable stuff (eg. clefs and bars) are copied into pre and
-postbreaks.
-
-@item Preprocessing
-
-Some dependencies are resolved, such as the direction of stems, beams,
-and "horizontal" placement issues (the order of clefs,  keys etc,
-placement of chords in multi-voice music), 
-
-@item Break calculation:
-
-The lines and horizontal positions of the columns are determined.
-
-@item Breaking
-
-Through some magical interactions with Line_of_score and Super_elem
-(check out the source) the "lines" are produced.
-
-All other spanners can figure across which lines they are spread. If
-applicable, they break themselves into pieces. After this, each piece
-(or, if there are no pieces, the original spanner itself) throws out
-any dependencies which are in the wrong line.
-
-@item Postprocesing:
-
-Some items and all spanners need computation after the Paper_column
-positions are determined. Examples: slurs, vertical positions of
-staffs.
-
-@item Output paper
-
-@end table
-
-@node mudela, Request_engraver, Overview, Top
-@section mudela
-
-Most information is stored in the form of a request.  In music
-typesetting, the user might want to cram a lot more symbols on the
-paper than actually fits. To reflect this idea (the user asks more
-than we can do), the container for this data is called Request.
-
-In a lot of other formats this would be called an 'Event'
-
-@table @samp
-@item @code{Barcheck_req}
-    Checks during music processing if start of this voice element
-    coincides with the start of a measure. Handy to check if you left out
-    some voice elts.
-@item @code{Note_req}
-    LilyPond has to decide if the ball should be hanging left or
-    right. This influences the horizontal dimensions of a column, and this
-    is why request processing should be done before horizontal spacing.
-    Other voices' frivolities may cause the need for accidentals, so this
-    is also for the to decide. The engraver can decide on positioning based on
-    ottava commands and the appropriate clef.
-@item @code{Rest_req}
-    Typeset a rest.
-@item @code{Span_req}
-    This type of request typically results in the creation of a @code{Spanner}
-@item @code{Beam_req}
-    Start/stop a beam.
-    Engraver has to combine this request with the stem_request, since the
-    number of flags that a stem wants to carry will determine the
-    number of beams.
-@item @code{Dynamic}
-    Each dynamic is bound to one note (a crescendo spanning multiple
-    notes is thought to be made of two "dynamics": a start and a stop).
-    Dynamic changes can occur in a smaller time than the length of its
-    note, therefore fore each  @code{Dynamic} request carries a time, measured
-    from the start of its note.
-@end table
-
-@node Request_engraver, Items and spanners, mudela, Top
-@section Request_engraver
-
-In the previous section the idea of Request has been explained, but
-this only solves one half of the problem. The other half is deciding
-which requests should be honored, which should merged with other
-requests, and which should be ignored. Consider this input
-
-@example 
-
-       \type Staff < % chord
-               @{ \meter 2/4; [c8 c8] @}
-               @{\meter 2/4;  [e8 e8] @}
-       >
-@end example 
-
-Both the cs and es are part of a staff (they are in the same
-Voice_group), so they should share meters, but the two [ ] pairs
-should be merged.
-
-The judge in this "allocation" problem a set of brokers: the requests
-are transmitted to so-called engravers which respond if they want to
-accept a request eg, the @code{Notehead_engraver} will accept
-@code{Note_req}s, and turn down @code{Slur_req}s. If the Music_iterator
-cannot find a engraver that wants the request, it is junked (with a
-warning message).
-
-After all requests have been either assigned, or junked, the Engraver
-will process the requests (which usually means creating an @code{Item}
-or @code{Spanner}). If a @code{Request_engraver} creates something, it
-tells the enclosing context. If all items/spanners have been created,
-then each Engraver is notified of any created Score_element, via a
-broadcasting system.
-
-@unnumberedsubsec example:
-
-@example 
-
-       c4
-@end example 
-
-produces:
-
-@example 
-
-       Note_request (duration 1/4)
-       Stem_request (duration 1/4)
-@end example 
-
-Note_request will be taken by a @code{Notehead_engraver}, stem_request
-will be taken by a @code{Stem_beam_engraver}. @code{Notehead_engraver}
-creates a @code{Notehead}, @code{Stem_beam_engraver} creates a
-@code{Stem}. Both announce this to the Staff_engraver. Staff_engraver
-will tell @code{Stem_beam_engraver} about the @code{Notehead}, which
-will add the @code{Notehead} to the @code{Stem} it just created.
-
-To decide on merging, several engravers have been grouped. Please
-check @file{init/engraver.ly}.
-
-@node Items and spanners, Dependencies, Request_engraver, Top
-@section Items and spanners
-
-The symbols that are printed, are generated by items and spanners
-(staff-elements). An item has one horizontal position, whereas a
-spanner spans several columns.
-
-@node Dependencies, Breaking, Items and spanners, Top
-@section Dependencies
-
-In music symbols depend on each other: the stems of a beam should
-point in the same direction as the beam itself, so the stems of a beam
-depend on the beam. In the same way do scripts depend on the direction
-of the stem. To reflect this, LilyPond has the notion of dependency.
-It works in the same fashion that @code{make} uses to build programs:
-before a stem is calculated, its dependencies (the beam) should be
-calculated. Before a slur is calculated, its dependencies (stems,
-noteheads) should be calculated.
-
-@node Breaking, Making patches, Dependencies, Top
-@section Breaking
-
-So what is this PREBREAK and POSTBREAK stuff?
-
-Let's take text as an example. In German some compound
-words change their spelling if they are broken: "backen" becomes
-"bak-ken".  TeX has a mechanism to deal with this, you would define
-the spelling of "backen" in TeX in this way
-
-       \discretionary@{bak-@}@{ken@}@{backen@}
-
-These 3 arguments are called "prebreak", "postbreak" and "nobreak"
-text.
-
-The same problem exists when typesetting music. If a line of music is
-broken, the next line usually gets a clef. So in TeX terms, the clef
-is a postbreak. The same thing happens with meter signs: Normally the
-meter follows the bar. If a line is broken at that bar, the bar along
-with the meter stays on the "last" line, but the next line also gets a
-meter sign after the clef. Using the previous notation,
-
-       \discretionary@{bar meter@}@{clef meter@}@{ bar meter @}
-
-In GNU Lilypond, we have the same concepts (and the same
-terminology). Each (nonrhythmic) symbol is typeset in  a nonrhythmic column
-At a breakpoint, multiple symbols are printed; symbols to be printed
-if the line is not broken, symbols to appear on the previous line, and
-on the next line if it is broken.
-
-@node Coding standards,  , Top, Top
-
-@chapter CodingStyle - standards while programming for GNU
-LilyPond
-
-We use these standards while doing programming for GNU LilyPond.  If
-you do some hacking, we appreciate it if you would follow this rules,
-but if you don't, we still like you.
-
-Functions and methods do not return errorcodes.
-
-@quotation
-
-A program should be light and agile, its subroutines
-connected like a string of pearls.  The spirit and intent of
-the program should be retained throughout.  There should be
-neither too little nor too much, neither needless loops nor
-useless variables, neither lack of structure nor overwhelming
-rigidity.
-
-A program should follow the 'Law of Least
-Astonishment'.  What is this law?  It is simply that the
-program should always respond to the user in the way that
-astonishes him least.
-
-A program, no matter how complex, should act as a
-single unit.  The program should be directed by the logic
-within rather than by outward appearances.
-
-If the program fails in these requirements, it will be
-in a state of disorder and confusion.  The only way to correct
-this is to rewrite the program.
-
--- Geoffrey James, "The Tao of Programming"
-@end quotation
-
-
-@unnumberedsubsec Languages
-
-C++ and Python are preferred.  Perl is not.  Python code should use an
-indent of 8, using TAB characters.
-
-@unnumberedsubsec Filenames
-
-Definitions of classes that are only accessed via pointers
-(*) or references (&) shall not be included as include files.
-
-filenames
-
-@example 
-
-       ".hh"   Include files
-       ".cc"   Implementation files
-       ".icc"  Inline definition files
-       ".tcc"  non inline Template defs
-@end example 
-
-in emacs:
-
-@example 
-
-       (setq auto-mode-alist
-             (append '(("\\.make$" . makefile-mode)
-                       ("\\.cc$" . c++-mode)
-                       ("\\.icc$" . c++-mode)
-                       ("\\.tcc$" . c++-mode)
-                       ("\\.hh$" . c++-mode)
-                       ("\\.pod$" . text-mode)         
-                       )
-                     auto-mode-alist))
-@end example 
-
-
-The class Class_name_abbreviation is coded in @file{class-name-abbr.*}
-
-@unnumberedsubsec Indentation
-
-Standard GNU coding style is used.   In emacs:
-
-@example 
-
-       (add-hook 'c++-mode-hook
-                 '(lambda() (c-set-style "gnu")
-                    )
-                 )
-@end example 
-
-If you like using font-lock, you can also add this to your @file{.emacs}:
-
-@example 
-
-       (setq font-lock-maximum-decoration t)
-       (setq c++-font-lock-keywords-3 
-             (append
-              c++-font-lock-keywords-3
-              '(("\\b\\([a-zA-Z_]+_\\)\\b" 1 font-lock-variable-name-face)
-              ("\\b\\([A-Z]+[a-z_]+\\)\\b" 1 font-lock-type-face))
-              ))
-@end example 
-
-@unnumberedsubsec Classes and Types
-
-@example 
-
-       This_is_a_class
-@end example 
-
-@unnumberedsubsec Members
-
-@example 
-
-       Class::member ()
-       Type Class::member_type_
-       Type Class::member_type ()
-@end example 
-
-the @code{type} is a Hungarian notation postfix for @code{Type}. See below
-
-@unnumberedsubsec Macros
-
-Macros should be written completely in uppercase
-
-The code should not be compilable if proper macro declarations are not
-included. 
-
-Don't laugh. It took us a whole evening/night to figure out one of
-these bugs, because we had a macro that looked like
-@code{DECLARE_VIRTUAL_FUNCTIONS ()}. 
-
-@unnumberedsubsec Broken code
-
-Broken code (hardwired dependencies, hardwired constants, slow
-algorithms and obvious limitations) should be marked as such: either
-with a verbose TODO, or with a short "ugh" comment.
-
-@unnumberedsubsec Comments
-
-The source is commented in the DOC++ style.  Check out doc++ at
-@uref{http://www.zib.de/Visual/software/doc++/index.html}
-
-@example 
-
-       /*
-               C style comments for multiline comments.
-               They come before the thing to document.
-               [...]
-       */
-
-       /**
-               short description.
-               Long class documentation.
-               (Hungarian postfix)
-
-               TODO Fix boring_member ()
-       */
-       class Class @{
-               /**
-                 short description.
-                 long description
-               */
-
-               Data data_member_;
-
-               /**
-                       short memo. long doco of member ()
-                       @@param description of arguments
-                       @@return Rettype
-               */
-               Rettype member (Argtype);
-
-               /// memo only
-               boring_member () @{
-                       data_member_ = 121; // ugh
-               @}
-       @};
-@end example 
-
-       
-Unfortunately most of the code isn't really documented that good.
-
-@unnumberedsubsec Members (2)
-
-Standard methods:
-
-@example 
-
-       ///check that *this satisfies its invariants, abort if not.
-       void OK () const
-
-       /// print *this (and substructures) to debugging log
-       void print () const
-
-       /**
-       protected member. Usually invoked by non-virtual XXXX ()
-       */
-       virtual do_XXXX ()
-
-       /**add some data to *this.
-       Presence of these methods usually imply that it is not feasible to this
-       via  a constructor
-       */
-       add (..)
-
-       /// replace some data of *this
-       set (..)
-@end example 
-
-@unnumberedsubsec Constructor
-
-Every class should have a default constructor.  
-
-Don't use non-default constructors if this can be avoided:
-
-@example 
-
-       Foo f(1)
-@end example 
-
-is less readable than
-
-@example 
-
-       Foo f;
-       f.x = 1
-@end example 
-
-or 
-
-@example 
-
-       Foo f(Foo_convert::int_to_foo (1))
-@end example 
-
-@unnumberedsec Hungarian notation naming convention
-
-Proposed is a naming convention derived from the so-called
-@emph{Hungarian Notation}.  Macros, @code{enum}s and @code{const}s are all
-uppercase, with the parts of the names separated by underscores.
-
-@unnumberedsubsec Types
-
-@table @samp
-@item @code{byte}
-    unsigned char. (The postfix _by is ambiguous)
-@item @code{b}
-    bool
-@item @code{bi}
-    bit
-@item @code{ch}
-    char
-@item @code{f}
-    float
-@item @code{i}
-    signed integer
-@item @code{str}
-    string class
-@item @code{sz}
-    Zero terminated c string
-@item @code{u}
-    unsigned integer
-@end table
-
-@unnumberedsubsec User defined types
-
-@example 
-
-       /** Slur blah. blah.
-       (slur)
-       */
-       class Slur @{@};
-       Slur* slur_p = new Slur;
-@end example 
-
-@unnumberedsubsec Modifiers
-
-The following types modify the meaning of the prefix. 
-These are preceded by the prefixes:
-
-@table @samp
-@item @code{a}
-    array
-@item @code{array}
-    user built array.
-@item @code{c}
-    const. Note that the proper order is @code{Type const}
-    i.s.o. @code{const Type}
-@item @code{C}
-    A const pointer. This would be equivalent to @code{_c_l}, but since any
-    "const" pointer has to be a link (you can't delete a const pointer),
-    it is superfluous.
-@item @code{l}
-    temporary pointer to object (link)
-@item @code{p}
-    pointer to newed object
-@item @code{r}
-    reference
-@end table
-
-@unnumberedsubsec Adjective
-
-Adjectives such as global and static should be spelled out in full.
-They come before the noun that they refer to, just as in normal english.
-
-@example 
-
-foo_global_i: a global variable of type int commonly called "foo".
-@end example 
-
-static class members do not need the static_ prefix in the name (the
-Class::var notation usually makes it clear that it is static)
-
-@table @samp
-@item @code{loop_i}
-    Variable loop: an integer
-@item @code{u}
-    Temporary variable: an unsigned integer
-@item @code{test_ch}
-    Variable test: a character
-@item @code{first_name_str}
-    Variable first_name: a String class object
-@item @code{last_name_ch_a}
-    Variable last_name: a @code{char} array
-@item @code{foo_i_p}
-    Variable foo: an @code{Int*} that you must delete
-@item @code{bar_i_l}
-    Variable bar: an @code{Int*} that you must not delete
-@end table
-
-Generally default arguments are taboo, except for nil pointers.
-
-The naming convention can be quite conveniently memorised, by
-expressing the type in english, and abbreviating it
-
-@example 
-
-       static Array<int*> foo
-@end example 
-
-@code{foo} can be described as "the static int-pointer user-array", so you get
-
-@example 
-
-       foo_static_l_arr
-@end example 
-
-
-@unnumberedsec Miscellaneous
-    
-
-For some tasks, some scripts are supplied, notably creating patches, a
-mirror of the website, generating the header to put over cc and hh
-files, doing a release.
-
-Use them.
-
-@node Making patches,  , Breaking, Top
-
-
-@unnumberedsec name
-    
-
-PATCHES - track and distribute your code changes
-
-This page documents how to distribute your changes to GNU lilypond
-    
-We would like to have unified context diffs with full pathnames.  A
-script automating supplied with Lily.
-
- Distributing a change normally goes like this:
-
-@itemize @bullet
-@item make your fix/add your code 
-@item Add changes to NEWS, and add yourself to Documentation/topdocs/AUTHORS.yo
-@item generate a patch, 
-@item e-mail your patch to one of the mailing lists
-    gnu-music-discuss@@gnu.org or bug-gnu-music@@gnu.org
-@end itemize
-
-Please do not send entire files, even if the patch is bigger than the
-original.  A patch makes it clear what is changed, and it won't
-overwrite previous not yet released changes.
-
-@unnumberedsec Generating a patch
-    
-
-In @file{VERSION}, set MY_PATCH_LEVEL:
-
-@example 
-
-    VERSION:
-       ...
-       MY_PATCH_LEVEL=jcn1
-@end example 
-
-In @file{CHANGES}, enter a summary of changes:
-
-@example 
-       pl 0.1.73.jcn1
-               - added PATCHES.texi
-@end example 
-
-Then, from the top of Lily's source tree, type
-
-@example 
-
-    make dist
-    make diff
-@end example 
-
-which rolls the tarball @file{../releases/lilypond-0.1.73.tar.gz}
-and leaves your patch as @file{./lilypond-0.1.73.jcn1.diff}.
-@footnote{'Make diff' generates a patch between two tarballs.  For 
-more info type 'make diff help=='.}  We assume that there is a tarball 
-@file{lilypond-0.1.73.tar.gz} in the directory @file{../releases}.
-
-If you didn't configure Lily using --srcdir, you can do:
-
-@example 
-
-    make release
-
-    tar-ball: ../patches/lilypond-0.1.73.jcn1.gz
-    patch: ../patches/lilypond-0.1.73.jcn1.gz
-@end example 
-
-@unnumberedsec Prerequisites
-    
-
-For creating a patch you need
-
-@itemize @bullet
-@item All items mentioned in @file{INSTALL}.  You're not going to send a patch
-    that you haven't even built, right?
-@item GNU diff
-@example 
-    make distclean
-    cd ..
-    diff -urN lilypond-0.1.73 lilypond-0.1.73.jcn1 > lilypond-0.1.73.jcn1
-@end example 
-
-but there are handy python scripts available.  If you're doing development,
-you'll need Python for other LilyPond scripts anyway.
-
-@item The Lily directory structure, which looks like:
-
-    @example 
-
-    doos/                        # gnu/windows32 build and binary releases
-    harmonia -> harmonia-x.y.z 
-    harmonia-x.y.z/
-    lilypond -> lilypond-x.y.z   # symlink to development directory
-    lilypond-x.y.z/              # current development
-    patches/                    # patches between different releases
-    RedHat/BUILD                 # RedHat build and binary releases
-    RedHat/RPMS
-    RedHat/SPECS
-    releases/                    # .tar.gz releases
-    test/                        # tarballs and diffs from current version
-
-@end example 
-
-with prefix @file{$HOME/usr/src}
-and (for building rpms only) in @file{$HOME/.rpmrc}:
-@example 
-
-    topdir: /home/fred/usr/src/RedHat
-@end example 
-
-@end itemize
-       
-@unnumberedsec Applying patches
-    
-
-If you're following LilyPond development regularly, you probably want to
-download just the patch for each subsequent release.
-After downloading the patch (into the patches directory, of course), simply 
-apply it:
-
-@example 
-
-    gzip -dc ../patches/lilypond-0.1.74.diff.gz | patch -p1 -E
-@end example 
-
-and don't forget to make automatically generated files:
-
-@example 
-
-    autoconf footnote(patches don't include automatically generated files, 
-    i.e. file(configure) and files generated by file(configure).)
-
-    configure
-@end example 
-
-@unnumberedsec Synchronise
-    
-
-If you're not very quick with sending your patch, there's a good
-chance that an new release of LilyPond comes available.  In such a
-case, the maintainer will probably ask you to make a new patch against
-the latest release.  Your best bet is to download the latest release,
-and apply your patch against this new source tree:
-
-@example 
-
-    cd lilypond-0.1.74
-    gzip -dc ../patches/lilypond-0.1.73.jcn1.diff.gz | patch -p1 -E
-    autoconf
-    configure
-@end example 
-
-Then, make a patch as shown above.
-
-@unnumberedsec See also
-    
-
-@file{stepmake/INSTALL.txt}
-
-@unnumberedsec maintainer
-    
-
-@email{hanwen@@cs.uu.nl, Han-Wen Nienhuys}
-
-Just keep on sending those patches!
-
-
-@bye
-
-
diff --git a/Documentation/tex/GNUmakefile b/Documentation/tex/GNUmakefile
deleted file mode 100644 (file)
index f0f86b3..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# Documentation/tex/Makefile
-
-depth=../..
-
-DATA_FILES = $(wildcard *.data)
-datafiles = $(addprefix $(outdir)/,$(DATA_FILES:.data=.html))
-TEX_FILES = $(wildcard *.tex)
-DOC_FILES = $(wildcard *.doc)
-
-DVI_FILES = $(addprefix $(outdir)/,$(DOC_FILES:.doc=.dvi)  $(TELY_FILES:.tely=.dvi))
-
-#OUTDOC_FILES = $(addprefix $(outdir)/, $(DOC_FILES))
-#OUTTEX_FILES = $(addprefix $(outdir)/, $(TEX_FILES))
-
-EXTRA_DIST_FILES= $(DOC_FILES) $(DATA_FILES) $(EL_FILES) $(TEX_FILES) testje.fly
-HTML_FILES = $(addprefix $(outdir)/, $(TELY_FILES:.tely=.html))
-
-PS_FILES = $(DVI_FILES:.dvi=.ps)  $(OUTDOC_FILES:.doc=.ps) $(OUTTEX_FILES:.tex=.ps)
-PS_GZ_FILES= $(addsuffix .gz, $(PS_FILES))
-
-STEPMAKE_TEMPLATES=tex texinfo documentation
-LOCALSTEPMAKE_TEMPLATES=lilypond mudela
-
-include $(depth)/make/stepmake.make 
-
-
-
-
-
-
-dvi: $(DVI_FILES)
-
-ps: $(PS_FILES)
-
-# urg
-default:
-
-GENHTMLS = engraving colorado glossary computer-notation
-OUTGENHTMLS = $(addprefix $(outdir)/, $(GENHTMLS:%=%.html))
-
-#urg should generalise and move Lilypond -> StepMake
-# URG.  Lilypond specific. Move out. 
-$(outdir)/%.html: %.data $(depth)/VERSION
-       $(PYTHON) $(step-bindir)/table-to-html.py --columns=7 --linesep='\r' -o $@ $<
-
-$(outdir)/%.latex: %.data $(depth)/VERSION
-       $(PYTHON) $(step-bindir)/table-to-html.py --columns=7 --linesep='\r'  -o $@ --format=latex $<
-
-
-
-
-
-local-WWW: $(HTML_FILES)   $(datafiles) $(PS_GZ_FILES)
-       $(PYTHON) $(step-bindir)/ls-latex.py --title 'User documentation about LilyPond' \
-          $(DOC_FILES) $(TEX_FILES) $(TELY_FILES) \
-         | sed "s!$(outdir)/!!g" > $(outdir)/index.html
-       $(footify) $(outdir)/index.html
-
-$(outdir)/%.bib: %.bib
-       ln -f $< $@
-
-localclean:
-       rm -f fonts.aux fonts.log feta*.tfm feta*.*pk
diff --git a/Documentation/tex/feta.tex b/Documentation/tex/feta.tex
deleted file mode 100644 (file)
index a8815e7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-% display all feta chars in a pretty picture
-% GNU LilyPond
-% (c) 1998 Jan Nieuwenhuizen <janneke@gnu.org>
-%
-% urg: fool ls-latex
-\def\urg{
-\title{The Feta font}
-\author{JCN}
-\begin{document}
-}
-
-
-\parindent0pt
-\nopagenumbers
-\newcount\n
-\newcount\i
-
-\font\fetatwenty = feta20
-\font\fetanumber = feta-nummer12
-\font\fetafinger = feta-nummer5
-\font\fetadyn = feta-din10 scaled \magstep 2
-\font\titlefont = cmbx12 scaled \magstep 4
-\font\subtitle = cmr9
-
-\def\lilyfooter{Lily was here}
-\def\setchar#1#2{\hbox to\charwidth{\hss{#1\char#2}\hss}}
-
-\def\charsperline{6}
-\def\charheight{55pt}
-\def\charwidth{60pt}
-
-\def\listfont#1#2#3{
-        \n=#2
-        \advance\n by-1
-        \advance\n by-\charsperline
-        \loop\ifnum\n<#3
-        \advance\n by\charsperline
-        \i=0
-        {\vbox to\charheight{\vss\centerline{
-        {\loop\ifnum\i<\charsperline
-        \advance\i by1
-        \advance\n by1
-        {\setchar{#1}{\number\n}}
-        \repeat}}}}\repeat}
-
-\def\title#1{\centerline{\titlefont #1}}
-\def\author#1{\centerline{#1}}
-
-\title{FETA}
-
-\centerline{\subtitle (definitely not an abbreviation for Font-En-Tja)}
-
-\author{Han-Wen Nienhuys and Jan Nieuwenhuizen}
-
-
-\vskip5mm
-
-\listfont{\fetatwenty}{0}{105}
-% urg
-\vskip-\charheight
-\listfont{\fetanumber}{48}{58}
-\vskip-\charheight
-\listfont{\fetafinger}{48}{58}
-\vskip-\charheight
-\listfont{\fetadyn}{0}{6}
-\vskip-\charheight
-
-\lilyfooter
-
-\bye
diff --git a/Documentation/tex/glossary-table.data b/Documentation/tex/glossary-table.data
deleted file mode 100644 (file)
index 2fdb482..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-@comma enharmonique@@@@@
-@doigté de pédale@@@@@
-@doigté@Fingersatz@@@@
-@indication de pédale@@@@@
-@pointillés@@@@@
-A@la@a@@@@
-accent@accent@Akzent@@accent@accento@
-accidental@altération accidentelle@Vorzeichen, Versetzungszeichen, Akzidenz@@toevallig teken@accidento@
-adjacent keys@tons voisins@@@@@
-alto@alto@Alt@@alt@@
-ancient form??? (diatonic minor scale)@forme du mode mineur ancien@@@@@
-appoggiatura@appogiature, ports de voix, notes d'agrèment@langer Vorschlag@@lange voorslag@appogiature@
-arbitrary number of bars' rest)@bâton de pause@@@meermaats rust@@
-arpeggio@arpège, arpègement@Arpeggio, Brechungen@@gebroken akoord@arpeggio@
-artificial measure@mesure artificielle@@@@@
-artificial rest@respiration@@@@@
-ascending interval@intervalle ascendant@@@stijgend interval@@
-augmented (interval)@augmenté (intervalle)@übermäßig (Intervall)@@overmatig interval@@
-B@si@h@@@@
-backfall, forefall@accent, chute, port de voix@Vorschlag@@korte voorslag@appogiature@
-bar line@barre (de mesure)@Taktstrich@@maatstreep@stanghetta@
-bar; measure@mesure@Takt@@maat, maatstreep@@
-baritone@bariton@Bariton@@bariton@@
-@@F-Schlüssel@@F sleutel@@A clef shaped as a curl with two dots.  The position between the dots is the\rline of the F below central C.
-bass clef@clé de fa@Bass-Schlüssel@@bas sleutel@chiave di basso@A clef setting with central C on the first top ledger line.
-bass@basse@Bass@@bas@@
-beam@barre@Balken@@waardestreep/balk@barra@
-beat@temps@Takt(-schlag)@@tel@@
-brace@accolade@Klammer@@accolade, haak@accolada@Symbol at the start of a system that connects staffs.
-brass@@Blechbläser@@koper (blazers)@@
-alto clef@clé d'ut@Altschlüssel@@alt sleutel@chiave di tenore@Clef setting that has central C on the middle staff line.  
-C clef@@@@C sleutel. @@A clef symbol that looks like a horizontally mirrored 3.  It\rindicates the position of the central C. Used in different\rpositions.
-C@do@c@@C@@
-C@ut@c@@@@
-cadence@cadence@Kadenz@@cadens@@
-cadenza@fioriture@Kadenz@@cadens@cadenza@
-cent@@Cent@@cent@@1/1200 of an octave (1/100 of an equally tempered semitone)
-chain of trills@chaîne de trilles@@@triller@@
-character@caractère@@@@@
-chevron@chevron@@@@@
-chord@accord@Akkord@@akkoord@@
-chromatic scale@gamme chromatique@Chromatische Tonleiter@@chromatische toonladder@@
-chromatic semitone@demi-ton chromatique@@@chromatische halve toon@@
-chromatic transposition@transposition chromatique@@@@@
-chromatic type@genre chromatique@@@@@
-church mode, ecclesiastical mode@mode ecclésiastique@Kirchentonart@@kerk toonladder@@
-clef@clé@Notenschlüssel@@sleutel@la chiave (pl. le chiavi)@
-comma@comma@Komma@@komma@@Difference in pitch of a note when the note is derived from a different tuning system.
-compound interval@intervalle composé@Komplementärintervall@@@@
-compound measure@mesure composée@@@samengestelde maat@@
-conjunct movement@mouvement conjoint@@@@@
-consonant interval; consonance@consonance@Konsonanz@@consonant@@
-contralto@contralto@Alt(-stimme), alt-@@@@
-contro-time@contre-temps@@@@@
-crescendo@crescendo@Crescendo@@@crescendo@written with an extended opening angular bracket, indicates increasing volume
-cue-notes@@Stichnoten@@stichnoten@@In an orchestral part, notes for a different instrument that hint when to\rstart playing.  Usually printed in smaller type.
-D@ré@d@@@@
-dash over/below@@@@@pizzicato@With plucked strings
-decrescendo@@Decrescendo@@@decrescendo@written with an extended closing angular bracket, indicates decreasing volume
-degree [of the scale]@degré [de la gamme]@Stufe [der Tonleiter]@@trap [van de toonladder]@@
-descending interval@intervalle descendant@@@dalend interval@@
-diatonic major scale@gamme diatonique majeure@Diatonische Durtonleiter@@diatonische majeur toonladder@@
-diatonic minor scale@gamme diatonique mineure@Diatonische Molltonleiter@@@@
-diatonic semitone@demi-ton diatonique@@@diatonische halve toon@@
-diatonic type@genre diatonique@diatonisch@@@@
-diatonic@diatonique@@@diatonisch@@A diatonic scale is a scale consisting of whole and half tones.
-diminished (interval)@diminué (intervalle)@vermindert (Intervall)@@verminderd (interval)@@
-disjunct movement@mouvement disjoint@@@@@
-dissonant interval; dissonance@dissonance@Dissonanz@@dissonant interval; dissonant@@
-dominant ninth chord@accord de neuvième dominante@@@dominant noon akkoord@@
-dominant seventh chord@accord de septième dominante@Dominantseptakkord@@dominant septiem akkoord@@
-dominant@dominante@Dominante@@dominant@@A tone that creates tension;the fifth degree of the scale.
-dorian mode@@Dorische Tonart@@dorische toonladder@@Mode obtained by raising the sixth in minor mode.  A Dorian scale can be played from D to D with no sharps or flats.
-dot (augmentation dot) @point@Punkt (Verlängerungspunkt)@@punt@punto@An augmentation dot after note adds multiplies the duration by one and a half.
-dot and curved line combined@point et liaison combinés@@@@@
-dot over/below@@Staccato@@staccato@staccato@Play each note short.
-dot@point@Punkt@@punt@@
-dotted note@note pointée@punktierte Note@@@@
-double appoggiatura@appogiature double@@@@@
-double bar line@double barre@Doppel(takt)strich@@dubbele streep@doppia barra@Indicates the end of a section within a movement.
-double dotted note@note doublement pointée@doppel-punktierte Note@@@@
-double flat@double bémol@Doppel-Be@@dubbelmol@doppio bemolle@
-double sharp@double dièse@Doppelkreuz@@dubbelkruis@doppio diesis@Raise pitch by two semitones
-double trill@trille double@Doppeltriller@@@@A trill on a chord
-double triplet@double triolet@Doppeltriole@@dubbele triool@@
-double whole note@@Brevis@breve@brevis@breve@Note during twice as long as a whole note. Mainly used in pre-1650 music.
-duple meter@temps binaire@@@tweedelige maatsoort@@
-duplet@duolet@Duole@@duool@@
-duration@durée@Dauer, Länge@@duur, lengte@@
-E@mi@e@@@@
-eighth note@croche@Achtelnote@quaver@achtste noot@@
-eighth rest@demi-soupir@Achtelpause@quaver rest@achtste rust@@
-engraving@@Notenstechen@@steken@@The traditional process of music printing: cutting in a plate of metal. Now also the term for the art of music typography.
-enharmonic@enharmonique@enharmonisch@@enharmonisch@@Two notes, intervals, or scales are enharmonic if they have different names but sound the same.  Examples: C sharp and D flat, diminished fourth and major third
-equal temperament@tempérament Ã©gal@@@getempereerde stemming@@Tuning system in which each semitone is precisely 100 cents.
-essential alteration@altération essentielle@@@@@
-expression mark@signe d'expressoin@Vortragszeichen@@voordrachtsteken@segno d'espressione@
-extension of interval@extension d'intervalle@@@@@
-F@fa@f@@@@
-fermata@pauses@Fermate@@fermate@fermata@Prolonged sound or silence of indefinite duration
-fifth@quinte@Quinte@@kwint@@
-flag, hook, tail, pennant@crochet@Fähnchen@@vlaggetje@coda uncinata@Ornament at the end of the stem of a note. The number of flags determines the lengths of notes shorter than a quarter note.
-flat@bémol@Be@@mol@bemolle@Lower pitch by a semitone
-four-bar rest@bâton de pause@@@@@
-fourth@quarte@Quarte@@kwart@@
-G@sol@g@@@@
-glissando@glissement@Glissando@@glissando@glissando@Letting the pitch  slide fluently from one note to the other
-graces@petites notes@Verzierungen, Manieren@@versieringen@appogiature@
-grand staff@@@@piano systeem@@A combination of two staffs with a brace.  Usually used for piano music.
-half note@blanche@Halbe Note@minim@halve noot@@
-half rest@demi-pause@Halbe Pause@minim rest@halve rust@@
-harmonic cadence@cadence harmonique@@@harmonische cadens@@Sequence of chords that terminate a musical phrase or section.
-harmonic form (diatonic minor scale)@forme harmonique@@@@@
-harmonic interval@intervalle harmonique@Harmonisches Intervall@@@@
-incomplete measure@mesure incomplète@@@@@
-interval@intervalle@Intervall@@interval@@Difference in pitch between two notes
-inversion of interval@renversement d'intervalle@@@interval inversie@@
-irregular contro-time@contre-temps irrégulier@@@@@
-irregular group@groupe irrégulier@@@@@
-irregular measure@mesure irrégulière@@@@@
-irregular syncopation@syncope irrégulière@@@onregelmatige syncope@@
-just intonation@@@@@@Tuning system in which the notes are obtained by adding and subtracting natural fifths and thirds.
-key signature@armure, armature [de la clé], signes des accidentals@Vorzeichen@@toonsoort (voortekens)@segni di chiave@
-kind of note@figure de note@@@@@
-kind of rest@figure de silence@@@@@
-leading note@sensible@@@@@
-ledger line, leger line@ligne supplémentaire@Hilfslinien, Kopfstriche (?)@@hulplijntje@lineette@A ledger line is an extension of the staff.  
-legato curve@liaison rythmique@@@legato boog@@
-lilypond@étang de lis@Lilienteich@lily pond@lelievijver@stagno del giglio@A pond with  lilies floating in it, also the name of a music typesetter.
-line@ligne@Linie@@lijn@@
-long appoggiatura@appogiature longue@@@@@
-lower number@chiffre inférieur@@@@@
-major (interval)@majeur (intervalle)@groß (Intervall)@@groot (interval)@@
-major mode@mode majeur@Dur@@@@
-meantone temperament@tempérament mésotonique@@@@@Tuning based on a fifth that is 16 cents smaller than the natural fifth.  
-mediant@médiante@@@mediant@@The third degree of a scale
-melodic cadence@cadence mélodique@@@cadens@@A free-form section at the end of a solo-concerto, where the soloist\rcan demonstrate his/her virtuosity.
-melodic form (diatonic minor scale)@forme mélodique@@@@@
-meter, time@mètre@Takt, Metrum@@maatsoort@@A recurring pattern of stress
-metronome@métronome@Metronom@@metronoom@@Device which sounds a steady beat
-metronomic indication@indication métronomique@Metronomangabe@@@@Exact tempo indication (in beats per minute).  Also denoted by M.M. (Mälzel's Metronom)
-mezzo-soprano@mezzo-soprano@Mezzosopran@@@@
-middle C@do central@eingestrichenes c@@centrale C@@First C below the 440 Hz A.
-minor (interval)@mineur (intervalle)@klein (Intervall)@@@@
-minor mode@mode mineur@Moll@@@@
-modal note@note modale@@@@@
-mode@mode@Geschlecht@@@@
-modulation@modulation@Modulation@@modulatie@@
-mordent@mordant, pincè@Pralltriller, Mordent@@mordent@mordente@
-motive@incise@Motiv@@motief@@
-musical ladder@échelle musicale@@@@@
-mixolydian mode@@Mixolydische Tonart@@Mixolydische toonladder@@Mode obtained by lowering the seventh in major.  A mixolydian scale can be obtained by playing G to G with no sharps or flats.
-natural sign@bécarre@Auflösungszeichen@@herstellingsteken@bequadro@Do not play the following note flat or sharp.
-ninth@@None@@noon@@
-note head@@Notenkopf@@noot balletje@@
-note@note@Note@@noot@nota@
-octave line@échelle d'octave@@@@@
-octave line@clé d'octave@@@@@
-octave sign@octave@Oktave@@@ottava@
-octave@octave@Oktave@@octaaf@@
-ornament, embellishment; accessory@agrèment, ornement@Verzierungen@@@fiorette, fioriture, abbellimenti@
-part@@@@partij@@
-pause@pause@Luftpause@@@@
-pause@point d'orgue@@@@@
-perfect (interval)@juste (intervalle)@rein (Intervall)@@rein (interval)@@
-perfect major chord@accord parfait majeur@@@@@
-perfect minor chord@accord parfait mineur@@@@@
-phrase member@membre de phrase@@@@@
-phrase@phrase@Phrase@@frase, zin@@
-phrasing@phrasé@@@@@
-pitch pipe; tuning fork@diapason@Stimmgabel@@stemfluitje; stemvork@@
-pitch@hauteur@Tonhöhe@@toonhoogte@@
-Pythagorean comma@comma pythagoricien@Pythagoräisches Komma@@komma van Pythagoras@@A sequence of fifths starting on C eventually circles back to C (B sharp), but this B sharp is 24 cents higher than C.  This gap is the Pythagorean comma.  
-quadruplet@quartolet@@@kwartool@@
-quarter note@noire@Viertelnote@crotchet@kwartnoot@@
-quarter rest@soupir@Viertelpause@crotchet rest@kwart rust@@
-register@registre@Register@@register@@
-regular contro-time@contre-temps régulier@@@@@
-regular syncopation@syncope régulière@@@@@
-relative scales@gammes relatives, tons relatifs@@@@@
-repeat@barre de reprise@Wiederholung@@herhaling@@
-rest@silence@@@@@
-rest@soupir@Pause@@rust@pausa@
-return sign@renvoi@@@herstellingsteken@@
-rhythm@rythme@Rhythmus@@ritme@@
-rhythmic curve@courbe rythmique@@@@@
-scale@gamme@Tonleiter@@toonladder@@
-score@partition@Partitur@@partituur@@
-second@seconde@Sekunde@@@secunde@
-semitone@demi-ton@Halbton@@halve toon@@
-seventh@septième@Septime@@septiem@septime@
-sextuplet@sextolet@Sextole@@sextool@@
-sextuplet@sixain@@@sextool@@
-shading signs@signes indicateurs de nuance@@@@@
-shading@nuance@Nuance@@@@
-sharp@dièse@Kreuz (um Halbton erhöht)@@kruis@@
-short appoggiatura@appogiature brève@@@@@
-simple appoggiatura@appogiature simple@@@@@
-simple interval@intervalle simple@@@@@
-simple measure@mesure simple@@@@@
-sixteenth note@double croche@Sechzehntelnote@semiquaver@zestiende noot@@
-sixteenth rest@quart de soupir@Sechzehntelpause@semiquaver rest@zestiende rust@@
-sixth@sixte@Sexte@@sext@@
-sixty-fourth note@quadruple croche@Vierundsechzigstelnote@hemidemisemiquaver@vierenzestigste noot@@
-sixty-fourth rest@seizième de soupir@Vierundsechzigstelpause@hemidemisemiquaver rest@@@
-slur@liaison, coulé@Bindungszeichen, Bindebogen@@binding, bindingsboog@legatura@
-soprano@soprano@Sopran@@sopraan@@
-space@espace@@@@@
-staff@portée@Noten(linien)system@@(noten)balk; partij@@pl staves or staffs
-stem@queue@Stiel, Hals@@stok@asta, gamba@
-strings@@Streicher@@strijkers@@
-strong beat@temps fort@@@thesis@@
-subdominant@sous-dominante@Subdominante@@@@The fourth degree of the scale
-submediant@@@@@@The sixth scale degree
-subtonic@sous-tonique@Subtonika@@@@The seventh degree of the scale
-superdominant@sus-dominante@@@@@The sixth scale degree
-supertonic@sus-tonique@@@@@The second scale degree
-syncopation; upbeat@syncope@Synkope@@syncope@@
-syntonic comma@comma syntonique@@@komma van Didymos, syntonische komma@@Difference between the natural third and the third obtained by Pythagorean tuning, euqal to 22 cents. 
-system@système@System@@systeem@sitema@
-tempo indication@signes de temps@Zeitmaß, Tempobezeichnung@@tempo aanduiding@segno di tempo@
-tempo; movement@mouvement@Tempo@@@@
-tenor@ténor@Tenor@@@@
-tenth@@Dezime@@deciem@decime@
-tetrachord@tétracorde@Vierklang@@@@
-third@tierce@Terz@@terts@@
-thirty-second note@triple croche@Zweiunddreißigstelnote@demisemiquaver@32e noot@@
-thirty-second rest@huitième de soupir@Zweiunddreißigstelpause@demisemiquaver rest@32e rust@@
-tie@liaison@Haltebogen@@overbinding@legatura@A curve that shows the prolongation (as opposed to the repetition fo a note)
-time signature@chiffrage (chiffres indicateurs), signe de valeur@Taktvorzeichnung, Taktvorzeichen@@maatsoort@segni di tempo@
-tonal note@note tonale@@@@@
-tonality@tonalité@Tonalität@@tonaliteit@@
-tone@ton@Ton@@toon@@
-tonic@tonique@Tonika@@tonica@@
-transposition@transposition@Transposition@@transpositie@@Shifting a melody up or down in pitch, while keeping the same relative pitches.
-G clef@@@@G sleutel@@A clef symbol with a loop at the top and a spiral in the center.  The center of the spiral indicates the G above central C.
-treble clef@clé de sol@Violinschlüssel@@viool sleutel@chiave di violino@Clef setting where the second lowest line is the G above central C.
-tremolo@trèmolo@Tremolo@@tremolo@tremolo@
-trill; shake@trille, tremblement, battement (cadence)@Triller@@triller@trillo@
-triple meter@temps ternaire@@@driedelige maatsoort@@
-triplet@triolet@Triole@@@@
-tritone@triton@Tritonus@@@@
-turn; gruppetto@brisè, groupe, doublè, grupetto@Doppelschlag@@dubbelslag@grupetto@
-two-bar rest@bâton de pause@@@@@
-underline over/below@portamento@Portato@@@@
-unison@unisson@Unisono@@@unisono@Different instruments playing exactly the same melody.
-unit of beat@unité de temps@@@@@
-unit of measure@unité de mesure@@@@@
-upbeat, arsis@@Auftakt@@@@
-upper number@chiffre supérieur@@@@@
-voice@voix@Stimme@@stem@@
-weak beat@temps faible@@@arsis@@
-whole note@ronde@Ganze Note@semibreve@hele noot@@
-whole rest@pause@Ganze Pause@semibreve rest@@@
-woodwind@@Holzbläser@@houtblazers@@
diff --git a/Documentation/tex/mudela-book-doc.doc b/Documentation/tex/mudela-book-doc.doc
deleted file mode 100644 (file)
index e4afd2e..0000000
+++ /dev/null
@@ -1,376 +0,0 @@
-% -*-LaTeX-*-
-\documentclass[a4paper, 12pt]{article}
-
-\usepackage{t1enc,isolatin1}
-\usepackage{graphics}
-%\usepackage[dvips]{graphicx}
-\usepackage[rflt]{floatflt}
-%\usepackage{showframe}
-%\sloppy
-\def\postMudelaExample{\setlength{\parindent}{3.25ex}}
-\title{Mudela-book tutorial}
-\author{TCA}
-\begin{document}
-\maketitle
-%\printparam
-
-\section{Introduction}
-
-[TODO: THIS MANUAL IS OUTDATED. FIXME.]
-
-Mudela-book is a script that process your \LaTeX~file and with great
-help from GNU LilyPond it translates blocks of mudela code it finds
-inside \verb|mudela| environments to tex or eps graphics. It then
-creates a new file that can be sendt through \LaTeX~to create a .dvi
-file with lines of music integrated with text. 
-
-Mudela-book will do its best to try to align the music to the left and
-right margins. Currently the most used papersizes and one- and
-twocolumn mode is supported, but if you use the geometry-package from
-\LaTeX~or change the margins things will break.
-
-This document assumes you have basic knowledge of GNU LilyPond and
-\LaTeX. If the authors not-so-good english irritates you, please
-send a patch.
-
-So what does this look like? Well, here is an example:
-\begin[veryverbatim, intertext="produces this music:"]{mudela}
-\score{
-  \notes\relative c'{
-    \time 5/8;
-    [e16( g b c a g][e a b d] | )e2 d,8 |
-    [e16( g b c a g][e a b d] | )b2 [a16( f] |
-    [e a b d] )e4 c8 | [es16( bes a as g es][d c b! )g] |
-    [f( a b d b a][f a b d] | )e2
-  }
-}
-\end{mudela}
-If you are lucky, the above example show a nice feature of LilyPond
-and \LaTeX. Since LilyPond can output the music as \TeX~graphics,
-\LaTeX~can insert pagebreaks between the lines of music.
-
-Notice that there is no \verb|\paper| statement in the example
-above. Mudela-book will insert some code for you that defines the
-linewidth and the font to use. If you don't want to change the default, 
-there is no need to put an empty \verb|\paper{}| inside the \verb|\score|.
-In the example above, something like
-this might be inserted before your code:
-\begin{verbatim}
-\include "paper16.ly"
-\paper{ \paper_sixteen
-    linewidth = 390.\pt;
-    castingalgorithm = \Gourlay;
-}
-\end{verbatim}
-The actual values for linewidth will differ depending on papersize and
-number of columns. Also, if you use a different fontsize for the
-music, another file than \verb|paper16.ly| will be included.
-
-If you want to make the music not so wide, you can insert a
-\verb|\paper| statement that set the linewidth:
-
-\begin[veryverbatim, intertext="produces this music:"]{mudela}
-\score{
-  \notes\relative c'{
-    \time 5/8;
-    [e16( g b c a g][e a b d] | )e2 d,8 |
-    [e16( g b c a g][e a b d] | )b2 [a16( f] |
-    [e a b d] )e4 c8 | [es16( bes a as g es][d c b! )g] |
-    [f( a b d b a][f a b d] | )e2
-  }
-  \paper{linewidth = 10.\cm;}
-}
-\end{mudela}
-
-Very often, if you mix music and text, the music is often 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.
-
-If you only write voice-contents in the mudela block, mudela-book 
-will set the \verb|linewidth| variable to -1, so Lilypond
-will make the music as short as possible but without breaking the
-line. Here is a well know harmonic progression:
-\begin[veryverbatim, intertext="produce a well known harmonic progression:"]{mudela}
-  <c' e g> <b d g> <c2 e g>
-\end{mudela}
-
-If you want to place music examples in the text,
-\begin[eps]{mudela}
-  <c' e g> <b d g> <c2 e g>
-\end{mudela}
-, you can use the \verb|eps| option. This will create the music as
-eps graphics and include it into the document with the 
-\verb|\includegraphics| command.
-
-The code used look like this:
-\begin{verbatim}
-\begin[eps]{mudela}
-  <c' e g> <b d g> <c2 e g>
-\end{mudela}
-\end{verbatim}
-
-You can also use the \verb|eps| option if the block is a complete
-mudela source. This 5 cm long empty line, 
-\begin[eps]{mudela}
-\score{
-  \notes{s}
-  \paper{ linewidth = 5.\cm;}
-}
-\end{mudela}
-was created with this code:
-\begin{verbatim}
-\begin[eps]{mudela}
-\score{
-  \notes{s}
-  \paper{ linewidth = 5.\cm;}
-}
-\end{mudela}
-\end{verbatim}
-
-To avoid that \LaTeX~places the music on a line of its one, there should
-be no empty lines between the normal text and the mudela
-environment. 
-
-You can also use \verb|mudelafile| (on a separate line, FIXME), to
-include another file. Files with name ending with \verb|.sly|
-
-\mudelafile{testje.fly}
-
-\section{Fontsize options}
-You can use all lilypond fontsizes in mudela-book. 
-% LONG line just to test multiple \mudela on one line
-The default 16pt fontsize, \mudela{<c' e g>}, is probably to big to be included in the middle of the text. 11pt, \mudela[11pt]{<c' e g>} or 13pt, \mudela[13pt]{<c' e g>} is probably better.
-The code can look like this:
-\begin{verbatim}
-\begin[13pt, eps]{mudela}
-<c' e g>
-\end{mudela}
-\end{verbatim}
-
-The following options set the fontsize:
-\begin{itemize}
-\item \verb|11pt|
-\begin[11pt, eps]{mudela}
-  \relative c'{
-    r16 [c d e][f d e c] [g'8 c][b-\prall c] |
-    [d16 g, a b][c a b g][d'8 g f-\prall g]
-  }
-\end{mudela}
-\item \verb|13pt|
-\begin[13pt, eps]{mudela}
-  \relative c'{
-    r16 [c d e][f d e c] [g'8 c][b-\prall c] |
-    [d16 g, a b][c a b g][d'8 g f-\prall g]
-  }
-\end{mudela}
-\item \verb|16pt|
-\begin[16pt, eps]{mudela}
-  \relative c'{
-    r16 [c d e][f d e c] [g'8 c][b-\prall c] |
-    [d16 g, a b][c a b g][d'8 g f-\prall g]
-  }
-\end{mudela}
-\item \verb|20pt|
-\begin[20pt, eps]{mudela}
-  \relative c'{
-    r16 [c d e][f d e c] [g'8 c][b-\prall c] |
-    [d16 g, a b][c a b g][d'8 g f-\prall g]
-  }
-\end{mudela}
-\item \verb|26pt|
-\begin[26pt, eps]{mudela}
-  \relative c'{
-    r16 [c d e][f d e c] [g'8 c][b-\prall c] |
-    [d16 g, a b][c a b g][d'8 g f-\prall g]
-  }
-\end{mudela}
-\end{itemize}
-
-\section{User defined commands}
-There is an even shorter way to write small musical fragments. This
-triad, \mudela{<c' e g>}, was created with this code:
-\verb|\mudela{<c' e g>}|
-
-\def\obsolete{
-Mudela-book defines the \verb|\mudela| command, and let you define
-your own commands in a file specified by 
-the command line option \verb|--initfile=filename|. The format for the
-file is a definition of a python dictionary:
-
-\begin{verbatim}
-{    'mudela': r"""
-\begin[eps \fontoptions]{mudela}
-    \maininput
-\end{mudela}
-""",
-    'mudelaRhythm': r"""
-\begin[eps \fontoptions]{mudela}
-\score{
-    \context RhythmicStaff{
-        \notes{\stemup \maininput}
-    }
-    \paper{linewidth = -1.\cm;}
-}
-\end{mudela}
-"""
-}
-\end{verbatim}
-The above code show how \verb|\mudela| could have been defined, and
-also defines a new command \verb|mudelaRhythm|. Notice that you can
-send fontsize options to the defined commands. 
-\verb|\mudelaRhythm[11pt]{c4 c8 [c16 c] c4 c}| produce this music:
-\begin[eps, 11pt]{mudela}
-\score{
-  \context RhythmicStaff{
-    \notes{ \stemup c4 r8 [c16 c] c4 c }
-  }
-  \paper{linewidth = -1.\cm;}
-}
-\end{mudela}
-}
-
-\section{More options}
-\begin{itemize}
-\item The \verb|singleline| option set \verb|linewidth| to -1.0.
-\item The \verb|multiline| option set \verb|linewidth| to a value letting
-the music be aligned to the right margin. The music can span several
-lines. 
-\end{itemize}
-
-\section{Just in case...}
-The options \verb|fragment| and \verb|nonfragment| will override
-mudela-book when it scans the mudela code to see if it is voice
-contents or complete code. This might be useful if mudela-book choose
-wrong. 
-
-Since there is no finder's fee which doubles every year, there is no
-need to wait for the price money to grow. So send a bug report today
-if you need this one of these options.
-
-\section{Examples}
-This was all options to \verb|\begin|. The rest of the{mudela}
-document will show some ways you can use mudela in
-\LaTeX~documents. It will also act as a simple test-suite for
-mudela-book. You 
-\marginpar{
-marginpar!
-\begin[eps, 11pt]{mudela}
- \relative c'' {\key c \minor; r4 [g8 g g] es2}
-\end{mudela}
-}can place \verb|eps| mudela in footnotes\footnote{
-footnote!
-\begin[eps, 11pt]{mudela}
- \relative c'' {\key c \minor;r4 [g8 g g] es2}
-\end{mudela}
-}
-and marginspars just as any other included eps graphics. 
-
-\begin{floatingfigure}[r]{7cm}
-\begin{mudela}
-\score{
-  \notes\relative c'{ 
-        \time 12/8;  
-        r4-\fermata [b16-.( )b-.] [f'8-- dis16-.( )dis-. gis8--]
-        [f16-.( )f-. dis8-- gis16-.( )gis-.] cis4.-\fermata |
-        
-        r4.-\fermata [cis,16 cis g'8 f16 f b8][g16 g f8 b16 b] dis4.-\fermata
-  }
-  \paper{linewidth = 7.\cm;}
-}
-\end{mudela}
-\end{floatingfigure}
-
-To the right you can see some bars from the trumpet fanfara from the
-beginning of the fantastic street opera ``Houdini the Great'', by the
-danish composer Andy Pape. The music is put inside a
-\verb|floatingfigure| environment, and the music will be aligned by
-the right marging if you set floatingfigure width and mudela linewidth
-to the same value. The code looks like this:
-
-\verb|\begin{floatingfigure}{7cm}|
-\begin[verbatim]{mudela}
-\score{
-  \notes\relative c'{ 
-    \time 12/8;  
-    r4.-\fermata [b16-.( )b-.] [f'8-- dis16-.( )dis-. gis8--]
-    [f16-.( )f-. dis8-- gis16-.( )gis-.] cis8.-\fermata |
-        
-    r4.-\fermata [cis,16 cis g'8 f16 f b8]
-    [g16 g f8 b16 b] dis4.-\fermata
-  }
-  \paper{linewidth = 7.\cm;}
-}
-\end{mudela}
-\verb|\end{floatingfigure}|
-
-\twocolumn[\large The following is written in two columns just to show
-what mudela-book can do..\normalsize]
-
-Tabulars is also nice. Here you have a chance to learn the norwegian
-names of some triads:
-\vspace{1em}
-
-\begin{tabular}{|l|l|}
-\hline
-
-dur &
-\begin[eps, fragment]{mudela}
-<c' e g>
-\end{mudela}
-\\
-\hline moll &
-\begin[eps]{mudela}
-<c' es g>
-\end{mudela}
-\\
-\hline forminsket &
-\begin[eps]{mudela}
-<c' es ges>
-\end{mudela}
-\\
-\hline forstørret &
-\begin[eps]{mudela}
-<c' e gis>
-\end{mudela}
-\\
-\hline 
-\end{tabular}
-
-\vspace{1em}
-If you have a lot of small music examples
-like this in the middle of your text, you might get a nicer look by
-using ``double'' line spacing. Put the \verb|\linespread{1.6}| command
-into the preamble of your document. Then the line spacing will not be
-increased between the lines where you have music printed with the
-smallest font size.
-
-Since the version number is quite low, you should be careful not to
-mix braces that belongs to mudela-book and \LaTeX~on the same
-line. The following code will probably break:
-
-\begin{verbatim}
-\footnote{\begin{mudela}
-\relative c''{ \key es; r8 [g g g] es2}
-\end}{mudela}
-\end{verbatim}
-Mudela-book does know about \verb|\onecolumn| and \verb|\twocolumn|. 
-So the music will be adjusted to the new linewith:
-\begin[veryverbatim, intertext="produces"]{mudela}
-\score{
-    \notes\relative c'{c d e f | g2 g | a4 a a a | g1 |
-         f4 f f f | e2 e | d4 d d d | c1}
-}
-\end{mudela}
-
-Verbatim environments will also ignore the page margins. That is
-a feature of \LaTeX. (But you usually put things inside a verbatim
-environment when you don't want \LaTeX~to do any linebreaking)
-
-
-\end{document}
-
-
-
-
-
-
diff --git a/Documentation/tex/reference-manual.tely b/Documentation/tex/reference-manual.tely
deleted file mode 100644 (file)
index 426b878..0000000
+++ /dev/null
@@ -1,3617 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@setfilename reference-manual.info
-@settitle LilyPond 1-2-0 Reference Manual
-
-@node Top, , Running LilyPond, (dir)
-@top
-@menu
-* LilyPond 1-2-0 Reference Manual::LilyPond 1-2-0 Reference Manual
-@end menu
-
-@macro keyindex {word}
-@cindex \word\
-
-@end macro
-
-@macro indexcode {word}
-@cindex \word\
-
-@end macro
-
-
-
-@node LilyPond 1-2-0 Reference Manual, Overview, , Top
-@menu
-* Overview::                      Overview
-* Top level::                     Top level
-* notenames::                     notenames
-* Lexical conventions::           Lexical conventions
-* notelang::                      notelang
-* modes::                         modes
-* Types::                         Types
-* Music expressions::             Music expressions
-* Atomic music expressions::      Atomic music expressions
-* atomicmusic::                   atomicmusic
-* notedesc::                      notedesc
-* barlines::                      barlines
-* manualbeam::                    manualbeam
-* tremolo::                       tremolo
-* Compound music expressions::    Compound music expressions
-* compoundmusic::                 compoundmusic
-* relative::                      relative
-* sec-repeats::                   sec-repeats
-* transpose::                     transpose
-* Ambiguities::                   Ambiguities
-* Notation conversion specifics:: Notation conversion specifics
-* autobeam::                      autobeam
-* lyricprint::                    lyricprint
-* Notation Contexts::             Notation Contexts
-* contextselection::              contextselection
-* Notation output definitions::   Notation output definitions
-* output::                        output
-* paper::                         paper
-* papervars::                     papervars
-* contextdefs::                   contextdefs
-* engravers::                     engravers
-* Sound output::                  Sound output
-* midilist::                      midilist
-* Pre-defined Identifiers::       Pre-defined Identifiers
-* ident::                         ident
-* Running LilyPond::              Running LilyPond
-@end menu
-@chapter LilyPond 1.2.0 Reference Manual
-
-
-
-@node Overview, Top level, LilyPond 1-2-0 Reference Manual, LilyPond 1-2-0 Reference Manual
-@section Overview
-
-This document@footnote{This document has been revised for
-LilyPond 1.2.} describes the the GNU LilyPond input format, which is
-a language for defining music.  We call this language @emph{Music
-Definition Language} or @emph{Mudela}, for short.@footnote{If anybody
-comes up with a better name, we'd gladly take this.  Gourlay already
-uses a ``Musical Description Language,'' ISO standard 10743 defines a
-``Standard Music Description Language.''  We're not being original
-here.}
-
-@emph{Mudela} is a language that allows you to
-
-@itemize @bullet
-  @item  create musical expressions by combining pitches, durations 
-  @item  output those musical expressions to various formats
-  @item  give those musical expressions and output definitions names, so
-       you can enter them in manageable chunks.
-@end itemize
-
-@emph{Mudela} aims to define a piece of music completely, both from
-typesetting and from a performance point of view.
-
-
-
-@node Top level, notenames, Overview, LilyPond 1-2-0 Reference Manual
-@section Top level
-
-@cindex top level
-
-This section describes what you may enter at top level.
-
-
-
-@cindex score definition
-
-The output is generated combining a music expression with an output
-definition.  A score block has the following syntax:
-
-@quotation
-
-  @code{\score @{} @var{musicexpr} @var{outputdefs} @code{@}}
-@end quotation
-
-@var{outputdefs} are zero or more output definitions.  If no output
-definition is supplied, the default @code{\paper} block will be added.
-
-
-
-@cindex header
-
-@keyindex{header}
-
-The syntax is
-
-@quotation
-
-  @code{\header} @code{@{} @var{key1} = @var{val1};
-                        @var{key2} = @var{val2}; ... @code{@}}
-@end quotation
-
-A header describes the file's contents.  It can also appear in a
-@code{\score} block.  Tools like @code{ly2dvi}@indexcode{ly2dvi} can use this
-information for generating titles.  Key values that are used by
-@code{ly2dvi} are: title, subtitle, composer, opus, poet, instrument,
-metre, arranger, piece and tagline.
-
-It is customary to put the @code{\header} at the top of the file.
-
-
-@node notenames, Lexical conventions, Top level, LilyPond 1-2-0 Reference Manual
-
-Note name tables can be specified using
-
-@quotation
-
-  @code{\notenames}@keyindex{notenames}
-    @code{@{} @var{assignmentlist} @code{@}}
-@end quotation
-
-@var{assignmentlist} is a list of definitions of the form
-
-@quotation
-
-  @var{name} = @var{pitch}
-@end quotation
-
-Chord modifiers can be set analogously, with
-@code{\chordmodifiers}@keyindex{chordmodifiers}.
-
-
-
-A @code{\paper} block at top level sets the default paper block.  A
-@code{\midi} block at top level works similarly.
-
-
-
-LilyPond contains a Scheme interpreter (the GUILE library) for
-internal use.  The following commands access the interpreter
-directly.
-
-@quotation
-
-  @code{\scm}@keyindex{scm} @var{scheme} @code{;}
-@end quotation
-
-Evaluates the specified Scheme code.  The result is discarded.
-
-@quotation
-
-  @code{\scmfile}@keyindex{scmfile} @var{filename} @code{;}
-@end quotation
-
-Reads Scheme code from the specified file.  The result is discarded.
-
-
-
-Identifier assignments may appear at top level.  Semicolons are
-forbidden after top level assignments.
-
-
-
-@node Lexical conventions, notelang, notenames, LilyPond 1-2-0 Reference Manual
-@section Lexical conventions
-
-@cindex lexical conventions
-
-
-
-@cindex comment
-
-@indexcode{%}
-
-
-A one line comment is introduced by a `@code{%}' character. 
-Block comments are started by `@code{%@{}' and ended by `@code{%@}}'. 
-They cannot be nested.
-
-
-
-@cindex keyword
-
-Keywords start with a backslash, followed by a number of lower case
-alphabetic characters.  These are all the keywords.
-
-@quotation
-
-  @code{\accepts}
-  @code{\addlyrics}
-  @code{\alternative}
-  @code{\bar}
-  @code{\breathe}
-  @code{\cadenza}
-  @code{\chordmodifiers}
-  @code{\chords}
-  @code{\clef}
-  @code{\cm}
-  @code{\consists}
-  @code{\consistsend}
-  @code{\context}
-  @code{\duration}
-  @code{\font}
-  @code{\grace}
-  @code{\header}
-  @code{\in}
-  @code{\key}
-  @code{\keysignature}
-  @code{\lyrics}
-  @code{\mark}
-  @code{\midi}
-  @code{\mm}
-  @code{\musicalpitch}
-  @code{\name}
-  @code{\notenames}
-  @code{\notes}
-  @code{\paper}
-  @code{\partial}
-  @code{\penalty}
-  @code{\property}
-  @code{\pt}
-  @code{\relative}
-  @code{\remove}
-  @code{\repeat}
-  @code{\repetitions}
-  @code{\scm}
-  @code{\scmfile}
-  @code{\score}
-  @code{\script}
-  @code{\sequential}
-  @code{\shape}
-  @code{\simultaneous}
-  @code{\skip}
-  @code{\spanrequest}
-  @code{\tempo}
-  @code{\textscript}
-  @code{\time}
-  @code{\times}
-  @code{\translator}
-  @code{\transpose}
-  @code{\type}
-@end quotation
-
-
-
-
-@cindex integer
-
-Formed from an optional minus sign followed by digits.  Arithmetic
-operations cannot be done with integers, and integers cannot be mixed
-with reals.
-
-
-
-@cindex real
-
-Formed from an optional minus sign and a sequence of digits followed
-by a @emph{required} decimal point and an optional exponent such as
-@code{-1.2e3}.  Reals can be built up using the usual operations:
-`@code{+}@indexcode{+}', `@code{-}@indexcode{-}', `@code{*}@indexcode{*}', and
-`@code{/}@indexcode{/}', with parentheses for grouping.
-
-A real constant can be followed by one of the dimension
-keywords:
-@cindex dimensions
- @code{\mm}@keyindex{mm},
-@code{\pt}@keyindex{pt}, @code{\in}@keyindex{in}, or
-@code{\cm}@keyindex{cm}, for millimeters, points, inches and
-centimeters, respectively.  This converts the number to a real that
-is the internal representation of dimensions.
-
-
-
-@cindex string
-
-Begins and ends with the `@code{"}' character.  To include a `@code{"}'
-character in a string write `@code{\"}'.  Various other backslash
-sequences have special interpretations as in the C language.  A
-string that contains no spaces can be written without the quotes. 
-See section @xref{modes} for details on unquoted strings; their
-interpretation varies depending on the situation.  Strings can be
-concatenated with the `@code{+}' operator.
-
-
-
-The tokenizer accepts the following commands.  They can appear
-anywhere.
-
-@quotation
-
-  @code{\maininput}@keyindex{maininput}
-@end quotation
-
-This command is used in init files to signal that the user file must
-be read. This command cannot be used in a user file.
-
-@quotation
-
-  @code{\include}@keyindex{include} @var{file}
-@end quotation
-
-Include @var{file}.  The argument @var{file} may be a quoted string (an
-unquoted string will not work here!) or a string identifier.  The full
-filename including the @file{.ly} extension must be given,
-
-@quotation
-
-  @code{\version}@keyindex{version} @var{string} @code{;}
-@end quotation
-
-Specify the version of LilyPond that a file was written for.  The
-argument is a version string in quotes, for example @code{"1.2.0"}. 
-This is used to detect invalid input, and to aid
-@code{convert-mudela}, a tool that automatically upgrades input files.
-
-
-
-@cindex other languages
-
-@node notelang, modes, Lexical conventions, LilyPond 1-2-0 Reference Manual
-
-Note name definitions have been provided in various languages. 
-Simply include the language specific init file.  For example:
-`@code{\include "english.ly"}'.  The available language files and the
-names they define are:
-
-@quotation
-
-@example 
-                        Note Names               sharp       flat
-
-nederlands.ly  c   d   e   f   g   a   bes b   -is         -es
-english.ly     c   d   e   f   g   a   bf  b   -s/-sharp   -f/-flat
-deutsch.ly     c   d   e   f   g   a   b   h   -is         -es
-norsk.ly       c   d   e   f   g   a   b   h   -iss/-is    -ess/-es
-svenska.ly     c   d   e   f   g   a   b   h   -iss        -ess
-italiano.ly    do  re  mi  fa  sol la  sid si  -d          -b
-catalan.ly     do  re  mi  fa  sol la  sid si  -d/-s       -b 
-@end example 
-
-@end quotation
-
-Pitch names can be redefined using the
-@code{\notenames}@keyindex{notenames} command, see
-subsection @xref{notenames}.
-
-
-
-@cindex lexical modes
-
-@cindex modes
-
-@node modes, Types, notelang, LilyPond 1-2-0 Reference Manual
-
-To simplify entering notes, lyrics, and chords, @emph{Mudela} has three
-special input modes on top of the default mode.  In each mode, words
-are identified on the input.  If @code{"word"} is encountered, it is
-treated as a string.  If @code{\word} is encountered, it is treated as
-a keyword or as an identifier.  The behavior of the modes differs in
-two ways: Different modes treat unquoted words differently, and
-different modes have different rules for deciding what is a word.
-
-@table @samp
-  @item Normal mode.
-@cindex mode!normal
-    At the start of parsing, @emph{Mudela} is in Normal mode.  In Normal
-    mode, a word is an alphabetic character followed by alphanumeric
-    characters.  If @code{word} is encountered on the input it is
-    treated as a string.
-
-  @item Note mode.
-@cindex mode!note
-
-    Note mode is introduced by the keyword
-    @code{\notes}@keyindex{notes}.  In Note mode, words can only
-    contain alphabetic characters.  If @code{word} is encountered,
-    LilyPond first checks for a notename of @code{word}.  If no
-    notename is found, then @code{word} is treated as a string.
-
-    Since combinations of numbers and dots are used for indicating
-    durations, it is not possible to enter real numbers in this mode.
-
-  @item Chord mode.
-@cindex mode!chord
-
-    Chord mode is introduced by the keyword
-    @code{\chords}@keyindex{chords}.  It is similar to Note mode, but
-    words are also looked up in a chord modifier table (containing
-    @code{maj}, @code{dim}, etc).
-
-    Since combinations of numbers and dots are used for indicating
-    durations, you can not enter real numbers in this mode.  Dashes
-    and carets are used to indicate chord additions and subtractions,
-    so scripts can not be entered in Chord mode.
-
-  @item Lyrics mode. 
-@cindex mode!lyric
-
-    Lyrics mode is introduced by the keyword
-    @code{\lyrics}@keyindex{lyrics}.  This mode has rules that make it
-    easy to include punctuation and diacritical marks in words.  A
-    word in Lyrics mode begins with: an alphabetic character,
-    `@code{_}', `@code{?}', `@code{!}', `@code{:}', `@code{'}', the
-    control characters @code{^A} through @code{^F}, @code{^Q} through
-    @code{^W}, @code{^Y}, @code{^^}, any 8-bit character with ASCII code
-    over 127, or a two-character combination of a backslash followed
-    by one of `@code{`}', `@code{'}', `@code{"}', or
-    `@code{^}'.@footnote{The purpose of Lyrics mode is that you can
-    enter lyrics in TeX format or a standard encoding without
-    needing quotes.  The precise definition of this mode indeed is
-    ludicrous.  This will remain so until the authors of LilyPond
-    acquire a deeper understanding of character encoding, or someone
-    else steps up to fix this.}
-
-    Subsequent characters of a word can be any character that is not
-    a digit and not white space.  One important consequence of this
-    is that a word can end with `@code{@}}', which may be confusing if
-    you thought the closing brace was going to terminate Lyrics
-    mode.@footnote{LilyPond will issue a warning, though.}  Any
-    `@code{_}' characters which appear in an unquoted word are
-    converted to spaces.  This provides a mechanism for introducing
-    spaces into words without using quotes.  Quoted words can also be
-    used in Lyrics mode to specify words that cannot be written with
-    the above rules.  Here are some examples.  Not all of these words
-    are printable by TeX.
-
-
-    @quotation
-
-@example 
-Ah!             % a word
-2B_||_!2B       % not a word because it starts with a digit
-``Hello''       % not a word because it starts with `
-_ _ _ _         % 4 words, each one a space 
-@end example 
-
-    @end quotation
-
-    Since combinations of numbers and dots are used for indicating
-    durations, you can not enter real numbers in this mode.
-@end table
-
-It is possible to create words that break the rules by prefixing them
-with the dollar sign `@code{$}@indexcode{$}'.  Regardless of the context, a
-word beginning with `@code{$}' extends until the next white space
-character.  Such words can contain numbers (even in Note mode), or
-other forbidden characters.  The dollar sign can be used to create
-and access identifiers that could not otherwise be used.@footnote{Use
-of `@code{$}' hampers readability and portability to future LilyPond
-versions, thus the use of the dollar sign is discouraged.}
-
-
-
-@node Types, Music expressions, modes, LilyPond 1-2-0 Reference Manual
-@section Types
-
-@cindex types and identifiers
-
-@emph{Mudela} has a limited set of types:
-
-@itemize @bullet
-  @item  integers
-  @item  reals
-  @item  strings
-  @item  music expressions
-  @item  durations of notes and rests (specified with
-       @code{\notenames}@keyindex{notenames})
-  @item  note name tables
-  @item  context definitions, part of output definitions.  See
-       section @xref{contextdefs} for more information
-  @item  output definitions (like @code{\paper}@keyindex{paper} blocks
-       and @code{\midi}@keyindex{midi} blocks)
-  @item  score definitions (@code{\score}@keyindex{score} blocks)
-@end itemize
-
-Type is a syntactical property: @emph{Mudela} has no real type system,
-so there is no support for generic expressions, functions, or user
-defined types.  For the same reason, it is not possible to mix reals
-and integers in arithmetic expressions, and ``type
-errors''
-@cindex type error
- (e.g., using a string identifier to
-initialize a @code{\paper}@keyindex{paper} block) will yield a ``parse
-error''.
-
-Identifiers allow objects to be assigned to names.  To assign an
-identifier, you use `@var{name}=@var{value}' and to refer to an
-identifier, you preceed its name with a backslash:
-`@code{\}@var{name}'.  Identifier assignments must appear at top level
-in the @emph{Mudela} file.  Semicolons are forbidden after assignments
-appearing at top level but they are obligatory after assignments
-appearing in the @code{\paper} block, see Section @xref{paper}.
-
-@var{value} is any of the types listed above.
-
-An identifier can be created with any string for its name, but you
-will only be able to refer to identifiers whose names begin with a
-letter, being entirely alphanumeric.  It is impossible to refer to an
-identifier whose name is the same as the name of a keyword.
-
-The right hand side of an identifier assignment is parsed completely
-before the assignment is done, so it is allowed to redefine an
-identifier in terms of its old value, e.g.
-
-@quotation
-
-  @code{foo = \foo * 2.0}
-@end quotation
-
-When an identifier is referenced, the information it points to is
-copied.  Therefore it only makes sense to put identifiers for
-translators, output definitions, and @code{\score}@keyindex{score}
-blocks as the first item in a block.  For this reason, if you
-reference a @code{\foo} variable in a @code{\foo} block, it must be the
-first item in the list following @code{\foo}.@footnote{@code{\paper@{\one
-\two@}} does not make sense, because the information of @code{\two}
-would overwrite the information of @code{\one}, thereby making the
-reference to the first identifier useless.}
-
-
-
-@node Music expressions, Atomic music expressions, Types, LilyPond 1-2-0 Reference Manual
-@section Music expressions
-
-@cindex music expressions
-
-Music in @emph{Mudela} is entered as a music expression.  Notes, rests,
-lyric syllables are music expressions (the atomic
-expressions)
-@cindex atomic music expressions
-, and you can combine
-music expressions to form new ones.  This example forms a compound
-expressions out of the quarter @code{c} note and a @code{d}
-note:
-
-@quotation
-
-  @example 
-\sequential @{ c4 d4 @} 
-@end example 
-
-@end quotation
-
-The meaning of this compound expression is to play the `@code{c}'
-first, and then the `@code{d}' (as opposed to playing them
-simultaneously, for instance).
-
-Atomic music expression are discussed in
-subsection @xref{atomicmusic}.  Compound music expressions are
-discussed in subsection @xref{compoundmusic}.
-
-
-
-@node Atomic music expressions, atomicmusic, Music expressions, LilyPond 1-2-0 Reference Manual
-@section Atomic music expressions
-@node atomicmusic, notedesc, Atomic music expressions, LilyPond 1-2-0 Reference Manual
-
-
-
-@cindex pitch
-
-@cindex duration
-
-The syntax for pitch specification is
-
-@quotation
-
-  @code{\musicalpitch}@keyindex{musicalpitch}
-    @code{@{} @var{octave} @var{note} @var{shift} @code{@}}
-@end quotation
-
-@var{octave} is specified by an integer, zero for the octave
-containing middle C.  @var{note} is a number from 0 to 7, with 0
-corresponding to C and 7 corresponding to B.  The shift is zero for a
-natural, negative to add flats, or positive to add sharps.
-
-In Note and Chord mode, pitches may be designated by names.  See
-section @xref{notelang} for pitch names in different languages.
-
-The syntax for duration specification is
-
-@quotation
-
-  @code{\duration}@keyindex{duration}
-    @code{@{} @var{length} @var{dotcount} @code{@}}
-@end quotation
-
-@var{length} is the negative logarithm (base 2) of the duration:
-1 is a half note, 2 is a quarter note, 3 is an eighth
-note, etc.  The number of dots after the note is given by
-@var{dotcount}.
-
-In Note, Chord, and Lyrics mode, durations may be designated by
-numbers and dots.  See Section @xref{notelang} for details.
-
-
-@node notedesc, barlines, atomicmusic, LilyPond 1-2-0 Reference Manual
-
-@cindex note specification
-
-@cindex pitches
-
-@cindex entering notes
-
-A note specification has the form
-
-@quotation
-
-  @var{pitch}[@var{octavespec}][@code{!}][@code{?}][@var{duration}]
-@end quotation
-
-The pitch of the note is specified by the note's name.
-
-
-The default names are the Dutch note names.  The notes are specified
-by the letters `@code{c}' through `@code{b}', where `@code{c}' is an
-octave below middle C and the letters span the octave above that C. 
-In Dutchcindex(notenames!Dutch), a sharp is formed by adding
-`@code{-is}' to the end of a pitch name.  A flat is formed by adding
-`@code{-es}'. Double sharps and double flats are obtained by adding
-`@code{-isis}' or `@code{-eses}'.  `@code{aes}' and `@code{ees}' are
-contracted to `@code{as}' and `@code{es}' in Dutch, but both forms will
-be accepted.
-
-LilyPond has predefined sets of notenames for various languages.  See
-section @xref{notelang} for details.
-
-
-The optional octave specification takes the form of a series of
-single quote (`@code{'}@indexcode{'}') characters or a series of comma
-(`@code{,}@indexcode{,}') characters.  Each @code{'} raises the pitch by one
-octave; each @code{,} lowers the pitch by an octave.
-
-@mudela[fragment,verbatim,center]
-  c' d' e' f' g' a' b' c''
-@end mudela
-
-@mudela[fragment,verbatim,center]
-  cis' dis' eis' fis' gis' ais' bis'
-@end mudela
-
-@mudela[fragment,verbatim,center]
-  ces' des' es' fes' ges' as' bes'
-@end mudela
-
-@mudela[fragment,verbatim,center]
-  cisis' eisis' gisis' aisis' beses'
-@end mudela
-
-@mudela[fragment,verbatim,center]
-  ceses' eses' geses' ases' beses'
-@end mudela
-
-Whenever a C-sharp is desired,  you must specify a C-sharp.  LilyPond
-will determine what accidentals to typeset depending on the key and
-context.  A reminder accidental 
-@cindex reminder accidental
- can be
-forced by adding an exclamation mark `@code{!}' after the pitch.  A
-cautionary accidental, 
-@cindex cautionary accidental
- i.e., an
-accidental within parentheses can be obtained by adding the question
-mark `@code{?}@indexcode{?}' after the pitch.
-
-@mudela[fragment,verbatim,center]
-  cis' d' e' cis'  c'? d' e' c'!
-@end mudela
-
-
-@cindex duration
-
-Durations are entered as their reciprocal values.  For notes longer
-than a whole note, use identifiers.
-
-@quotation
-
-@example 
-c'\longa c'\breve  
-c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64 
-@end example 
-
-@end quotation
-
-@quotation
-
-@mudela[]
-\score {
-  \notes \relative c'' {
-    a\longa a\breve  
-    a1 a2 a4 a8 a16 a32 a64 a64 
-  }
-  \paper {
-    loose_column_distance = 2.5 * \interline;
-    linewidth = -1.0;
-    \translator {
-      \type "Score_engraver";
-      \name "Score";
-      \consists "Note_heads_engraver";
-      \consists "Stem_engraver";
-      \consists "Rhythmic_column_engraver";
-    }
-  }
-}
-@end mudela
-@end quotation
-
-@quotation
-
-@example 
-r\longa r\breve  
-r1 r2 r4 r8 r16 r32 r64 r64 
-@end example 
-
-@end quotation
-
-@quotation
-
-@mudela[]
-\score {
-  \notes \relative c'' {
-    r\longa r\breve  
-    r1 r2 r4 r8 r16 r32 r64 r64 
-  }
-  \paper {
-    loose_column_distance = 2.5 * \interline;
-    linewidth = -1.0;
-    \translator {
-      \type "Score_engraver";
-      \name "Score";
-      \consists "Rest_engraver";
-      \consists "Stem_engraver";
-      \consists "Rhythmic_column_engraver";
-    }
-  }
-}
-@end mudela
-@end quotation
-
-If the duration is omitted then it is set equal to the previous
-duration.  If there is no previous duration, a quarter note is
-assumed.  The duration can be followed by a dot (`@code{.}@indexcode{.}')
-to obtain dotted note lengths.
-
-@mudela[fragment,verbatim,center]
-  a'4. b'4.
-@end mudela
-
-You can alter the length of duration by writing
-`@code{*}@var{fraction}' after it.  This will not affect the
-appearance of note heads or rests.
-
-
-Rests are entered like notes, with note name `@code{r}@indexcode{r}',
-or `@code{R}@indexcode{R}'.  There is also a note name `@code{s}@indexcode{s}',
-which produces a space of the specified duration. 
-`@code{R}' is specifically meant for entering parts: the @code{R} rest
-can expand to fill a score with rests, or it can be printed as a
-single multimeasure rest.
-
-
-@cindex lyrics expressions
-
-Syllables are entered like notes, with pitches replaced by text.  For
-example, `@code{Twin-4 kle4 twin-4 kle4}' enters four syllables, each
-with quarter note duration.  Note that the hyphen has no special
-meaning for lyrics, and does not introduce special symbols.  See
-section @xref{modes} for a description of what is interpreted as
-lyrics.
-
-Spaces can be introduced into a lyric either by using quotes
-(`@code{"}') or by using an underscore without quotes: `@code{He_could4
-not4}'.  All unquoted underscores are converted to spaces.  Printing
-lyrics is discussed in section @xref{lyricprint}.
-
-
-
-@cindex properties
-
-@quotation
-
-  @code{\property}@keyindex{property}
-    @var{contextname}@code{.}@var{propname} @code{=} @var{value}
-@end quotation
-
-Sets the @var{propname} property of the context @var{contextname} to
-the specified @var{value}.  All three arguments are strings. 
-Depending on the context, it may be necessary to quote the strings or
-to leave space on both sides of the dot.
-
-
-
-@cindex translator switches
-
-@quotation
-
-  @code{\translator}@keyindex{translator}
-    @var{contexttype} = @var{name}
-@end quotation
-
-A music expression indicating that the context which is a direct
-child of the a context of type @var{contexttype} should be shifted to
-a context of type @var{contexttype} and the specified name.
-
-Usually this is used to switch staffs in Piano music, e.g.
-
-@quotation
-
-  @code{\translator Staff = top} @var{Music}
-@end quotation
-
-
-
-@cindex commands
-
-Commands are music expressions that have no duration.   
-
-
-@quotation
-
-  @code{\key}@keyindex{key} @var{pitch} @var{type} @code{;}
-@end quotation
-
-Change the key signature.  @var{type} should be
-@code{\major}@keyindex{major} or @code{\minor}@keyindex{minor} to get
-@var{pitch}-major or @var{pitch}-minor, respectively.  The second
-argument is optional; the default is major keys.  The @var{\context}
-argument can also be given as an integer, which tells the number of
-semitones that should be added to the pitch given in the subsequent
-@code{\key}@keyindex{key} commands to get the corresponding major key,
-e.g., @code{\minor}@keyindex{minor} is defined as 3.  The standard
-mode names @code{\ionian}@keyindex{ionian},
-@code{\locrian}@keyindex{locrian}, @code{\aeolian}@keyindex{aeolian},
-@code{\mixolydian}@keyindex{mixolydian}, @code{\lydian}@keyindex{lydian},
-@code{\phrygian}@keyindex{phrygian}, and @code{\dorian}@keyindex{dorian}
-are also defined.
-
-@quotation
-
-  @code{\keysignature}@keyindex{keysignature} @var{pitchseq} @code{;}
-@end quotation
-
-Specify an arbitrary key signature.  The pitches from @var{pitch} will
-be printed in the key signature in the order that they appear on the
-list.
-
-        
-@quotation
-
-  @code{\mark}@keyindex{mark} @var{unsigned} @code{;} @* 
-  @code{\mark} @var{string} @code{;}
-@end quotation
-
-Prints a mark over or under (depending on the
-@code{markDirection}@indexcode{markDirection} property) the staff.  You must add
-@code{Mark_engraver}@indexcode{Mark_engraver} to either the Score or Staff context for
-this to work.
-
-@node barlines, manualbeam, notedesc, LilyPond 1-2-0 Reference Manual
-
-@quotation
-
-  @code{\bar}@keyindex{bar} @var{bartype} @code{;}
-@end quotation
-
-This is a request to print a special bar symbol. It replaces the 
-regular bar symbol with a special
-symbol.  The argument @var{bartype} is a string which specifies the
-kind of bar to print.  Options are @code{":|"}
-@cindex "|A@@@code{:|}
-,
-@code{"|:"}
-@cindex "|B@@@code{|:}
-, @code{":|:"}
-@cindex "|C@@@code{:|:}
-,
-@code{"||"}
-@cindex "|D@@@code{||}
-, @code{"|."}
-@cindex "|E@@@code{|.}
-,
-@code{".|"}
-@cindex "|F@@@code{.|}
-, and @code{".|."}
-@cindex "|G@@@code{.|.}
-. 
-These produce, respectively, a right repeat, a left repeat, a double
-repeat, a double bar, a start bar, an end bar, and a thick double
-bar.  If @var{bartype} is set to @code{"empty"} then nothing is
-printed, but a line break is allowed at that spot.
-
-You are encouraged to use @code{\repeat} for repetitions.
-See section @xref{sec-repeats}.
-
-
-@quotation
-
-  @code{\cadenza}@keyindex{cadenza} @var{togglevalue} @code{;}
-@end quotation
-
-Music expression that toggles the automatic generation of bar lines. 
-If @var{togglevalue} is 1, bar line generation is turned off.  If
-@var{togglevalue} is 0, a bar line is immediately printed and 
-automatic bar generation is turned on.
-
-@quotation
-
-  @code{\time}@keyindex{time} @var{numerator}@code{/}@var{denominator} @code{;}
-@end quotation
-
-Change the time signature.  The default time signature is 4/4. 
-The time signature is used to generate bar lines.
-
-@quotation
-
-  @code{\tempo}@keyindex{tempo} @var{duration} = @var{perminute} @code{;}
-@end quotation
-
-Used to specify the tempo.  For example, `@code{\tempo 4 = 76;}'
-requests output with 76 quarter notes per minute.
-
-@quotation
-
-  @code{\partial}@keyindex{partial} @var{duration} @code{;}
-@end quotation
-
-@cindex anacrusis
-
-@cindex upstep
-
-This creates an incomplete measure (anacrusis, upbeat) at the start of 
-the music, e.g., `@code{\partial 8*2;}' creates a starting measure 
-lasting two eighth notes.
-
-@quotation
-
-  @code{|}@indexcode{|}
-@cindex bar check
-
-@end quotation
-
-@cindex shorten measures
-
-@cindex upstep
-
-`@code{|}' is a barcheck.  Whenever a barcheck is encountered during
-interpretation, a warning message is issued if it doesn't fall at a
-measure boundary.  This can help you finding errors in the input. 
-The beginning of the measure will be relocated, so this can also
-be used to shorten measures.
-
-
-@quotation
-
-  @code{\penalty}@keyindex{penalty} @var{int} @code{;}
-@end quotation
-
-Discourage or encourage line breaks.  See identifiers
-@code{\break}@keyindex{break} and @code{\nobreak}@keyindex{nobreak} in
-section @xref{ident}.
-
-@quotation
-
-  @code{\clef}@keyindex{clef} @var{clefname} @code{;}
-@end quotation
-
-Music expression that sets the current clef.  The argument is a
-string which specifies the name of the clef.  Several clef names are
-supported.  If `@code{_8}' or `@code{^8}' is added to the end of a clef
-name, then the clef lowered or raised an octave will be generated. 
-Here are the supported clef names with middle C shown in each
-clef:
-
-@quotation
-
-@mudela[]
-\score {
-  \notes {
-    \cadenza 1;
-    %\property Voice.textStyle = typewriter
-    \clef subbass;     c'4-"\kern -5mm subbass" 
-    \clef bass;        c'4^"\kern -2mm bass"
-    \clef baritone;    c'4_"\kern -5mm baritone"
-    \clef varbaritone; c'4^"\kern -6mm varbaritone"
-    \clef tenor;       c'4_"\kern -3mm tenor"
-    \clef "G_8";       c'4^"\kern -2mm G\\_8" 
-  }  
-  \paper {
-    linewidth = 4.5 \in;
-  }
-}
-@end mudela
-@end quotation
-
-@quotation
-
-@mudela[]
-\score {
-  \notes {
-    \cadenza 1;
-    \clef alto;         c'4_"\kern -2mm alto"
-    \clef mezzosoprano; c'4^"\kern -9mm mezzosoprano"
-    \clef soprano;      c'4_"\kern -6mm soprano"
-    \clef treble;       c'4^"\kern -4mm treble"
-    \clef french;       c'4_"\kern -4mm french"
-  }
-  \paper {
-    linewidth = 4.5 \in;
-  }
-}
-@end mudela
-@end quotation
-
-The three clef symbols can also be obtained using the names `@code{G}', 
-`@code{C}' or `@code{F}', optionally followed by an integer which 
-indicates at which note line the clef is located. An as example, the 
-@code{mezzosoprano} clef can also be given as `@code{C2}'.
-
-@quotation
-
-  @code{\skip}@keyindex{skip} @var{duration} @code{;}
-@end quotation
-
-Skips the amount of time specified by @var{duration}.  If no other
-music is played, a gap will be left for the skipped time with no
-notes printed.  It works in Note Mode or Lyrics Mode.  In Note mode,
-this has the same effect as the space rest `@code{s}'.
-
-
-@cindex beams
-
-@node manualbeam, tremolo, barlines, LilyPond 1-2-0 Reference Manual
-
-A beam is specified by surrounding the beamed notes with brackets
-`@code{[}@indexcode{[}' and `@code{]}@indexcode{]}'.  
-
-@mudela[fragment,verbatim,center]
-  [a'8 a'] [a'16 a' a' a']
-@end mudela
-
-Some more elaborate constructions:
-
-@mudela[fragment,verbatim,center]
-  [a'16 <a' c''> c'' <a' c''>]
-  \times 2/3 { [e'8 f' g'] }
-@end mudela
-
-Beaming can be generated automatically; see section @xref{autobeam}.
-
-To place tremolo marks 
-@cindex tremolo beams
- between two notes, begin
-with `@code{[:}@var{length}' and end with `@code{]}'.  Tremolo marks
-will appear instead of beams.  Putting more than two notes in such a
-construction will produce odd effects.  To create tremolo beams on a
-single note, simply attach `@code{:}@var{length}' to the note itself
-(see also section @xref{tremolo}).
-  
-@mudela[fragment,verbatim,center]
-  [:16 e'1 g'] [:8 e'4 f']
-@end mudela
-  
-@mudela[fragment,verbatim,center]
-  c'4:32 [:16 c'8 d'8]
-@end mudela
-
-
-@cindex --@@@code{-}@code{-}
-
-@indexcode{__}
-
-@cindex extender
-
-@cindex hyphen
-
-The syntax for an extender mark is `@code{__}'.  This syntax can only
-be used within lyrics mode.  The syntax for a spanning hyphen (i.e.,
-a hyphen that will be printed between two lyric syllables) is
-`@code{-}@code{-}'.
-
-
-@cindex ties
-
-A tie connects two adjacent note heads of the same pitch.  When used
-with chords, it connects all of the note heads whose pitches match.
-Ties are indicated using the tilde symbol `@code{~}@indexcode{~}'.
-If you try to tie together chords which have no common pitches, a
-warning message will appear and no ties will be created.
-
-@mudela[fragment,verbatim,center]
-  e' ~ e' <c' e' g'> ~ <c' e' g'>
-@end mudela
-
-
-
-[TODO: explain Requests]
-
-
-@cindex articulations
-
-@cindex scripts
-
-@cindex ornaments
-
-A variety of symbols can appear above and below notes to indicate
-different characteristics of the performance.  These symbols can be
-added to a note with `@var{note}@code{-\}@var{name}'.  Numerous symbols
-are defined in @file{script.ly} and @file{script.scm}.  Symbols can be
-forced to appear above or below the note by writing
-`@var{note}@code{^\}@var{name}' and `@var{note}@code{_\}@var{name}'
-respectively.  Here is a chart showing symbols above notes, with the
-name of the corresponding symbol appearing underneath.
-
-@mudela[]
-
-  \score {
-    < \notes {
-        c''-\accent      c''-\marcato      c''-\staccatissimo c''-\fermata 
-        c''-\stopped     c''-\staccato     c''-\tenuto        c''-\upbow
-        c''-\downbow     c''^\lheel        c''-\rheel         c''^\ltoe
-        c''-\rtoe        c''-\turn         c''-\open          c''-\flageolet
-        c''-\reverseturn c''-\trill        c''-\prall         c''-\mordent
-        c''-\prallprall  c''-\prallmordent c''-\upprall       c''-\downprall
-        c''-\thumb       c''-\segno        c''-\coda
-      }
-      \context Lyrics \lyrics {  
-        accent__      marcato__      staccatissimo__ fermata
-        stopped__     staccato__     tenuto__        upbow
-        downbow__     lheel__        rheel__         ltoe
-        rtoe__        turn__         open__          flageolet
-        reverseturn__ trill__        prall__         mordent
-        prallprall__  prallmordent__ uprall__        downprall
-        thumb__       segno__        coda
-      }
-    >
-    \paper {
-      linewidth = 5.875\in;          
-      indent    = 0.0;
-    }
-  }
-
-@end mudela
-
-In addition, it is possible to place arbitrary strings of text or
-TeX above or below notes by using a string instead of an
-identifier: `@code{c^"text"}'.  Fingerings 
-@cindex fingering
- can be
-placed by simply using digits.  All of these note ornaments appear in
-the printed output but have no effect on the MIDI rendering of the
-music.
-
-To save typing, fingering instructions (digits 0 to 9 are
-supported) and single characters shorthands exist for a few
-common symbols
-
-@mudela[]
-
-  \score {
-    \notes {
-      \property Voice.textStyle = typewriter
-      c''4-._"c-."      s4
-      c''4--_"c-{}-"    s4
-      c''4-+_"c-+"      s4
-      c''4-|_"c-|"      s4
-      c''4->_"c->"      s4
-      c''4-^_"c-\\^{ }" s4
-      c''4-1_"c-1"      s4
-      c''4-2_"c-2"      s4
-      c''4-3_"c-3"      s4
-      c''4-4_"c-4"      s4
-    }
-    \paper {
-      linewidth = 5.875 \in;
-      indent    = 0.0;
-    }
-  }
-
-@end mudela
-
-Dynamic marks are specified by using an identifier after a note:
-`@code{c4-\ff}' (the dash is optional for dynamics: `@code{c4 \ff})'.  
-The available dynamic marks are:
-@code{\ppp}@keyindex{ppp},
-@code{\pp}@keyindex{pp}, @code{\p}@keyindex{p}, @code{\mp}@keyindex{mp},
-@code{\mf}@keyindex{mf}, @code{\f}@keyindex{f}, @code{\ff}@keyindex{ff},
-@code{\fff}@keyindex{fff}, @code{\fff}@keyindex{ffff},
-@code{\fp}@keyindex{fp}, @code{\sf}@keyindex{sf},
-@code{\sff}@keyindex{sff}, @code{\sp}@keyindex{sp},
-@code{\spp}@keyindex{spp}, @code{\sfz}@keyindex{sfz}, and
-@code{\rfz}@keyindex{rfz}.
-
-
-@quotation
-
-  @code{\textscript}@keyindex{textscript} @var{text} @var{style}
-@end quotation
-
-Defines a text to be printed over or under a note.  @var{style} is a
-string that may be one of @code{roman}, @code{italic}, @code{typewriter}, 
-@code{bold}, @code{Large}, @code{large}, @code{dynamic} or @code{finger}.
-
-You can attach a general textscript request using this syntax:
-
-@quotation
-
-@example 
-c4-\textscript "6" "finger"
-c4-\textscript "foo" "normal" 
-@end example 
-
-@end quotation
-
-This is equivalent to `@code{c4-6 c4-"foo"}'.  
-
-
-@cindex scripts
-
-@quotation
-
-  @code{\script}@keyindex{script} @var{alias}
-@end quotation
-
-Prints a symbol above or below a note.  The argument is a string
-which points into the script-alias table defined in @file{script.scm}.
-The scheme definitions specify whether the symbol follows notes into
-the staff, dependence of symbol placement on staff direction, and a
-priority for placing several symbols over one note.  Usually the
-@code{\script}@keyindex{script} keyword is not used directly.  Various
-helpful identifier definitions appear in @file{script.ly}.
-
-
-@cindex slur
-
-Slurs connects chords and try to avoid crossing stems.  A slur is
-started with `@code{(}' and stopped with `@code{)}'.  The
-starting `@code{(}' appears to the right of the first note in
-the slur.  The terminal `@code{)}' appears to the left of the
-first note in the slur.  This makes it possible to put a note in
-slurs from both sides:
-
-@mudela[fragment,verbatim,center]
-  f'()g'()a' [a'8 b'(] a'4 g'2 )f'4
-@end mudela
-
-
-@cindex crescendo
-
-A crescendo mark is started with @code{\cr}@keyindex{cr} and terminated
-with @code{\rc}@keyindex{rc}.  A decrescendo mark is started with
-@code{\decr}@keyindex{decr} and terminated with
-@code{\rced}@keyindex{rced}.  There are also shorthands for these
-marks.  A crescendo can be started with @code{\<}@keyindex{<} and a
-decrescendo can be started with @code{\>}@keyindex{>}.  Either one can
-be terminated with @code{\!}@keyindex{"!}.  Note that @code{\!}
-must go before the last note of the dynamic mark whereas @code{\rc}
-and @code{\rced} go after the last note.  Because these marks are
-bound to notes, if you want to get several marks during one note, you
-must use spacer notes.
-
-@mudela[fragment,verbatim,center]
-  c'' \< \! c''   d'' \decr e'' \rced 
-  < f''1 { s4 \< \! s2 \> \! s4 } >
-@end mudela
-
-
-@quotation
-
-  @code{\spanrequest}@keyindex{spanrequest} @var{startstop} @var{type}
-@end quotation
-
-Define a spanning request. The @var{startstop} parameter is either -1
-(@code{\start}@keyindex{start}) or 1 (@code{\stop}@keyindex{stop}) and
-@var{type} is a string that describes what should be started.
-Supported types are @code{crescendo}, @code{decrescendo},
-@code{beam}, @code{slur}.  This is an internal command.  Users should
-use the shorthands which are defined in the initialization file
-@file{spanners.ly}.
-
-You can attach a (general) span request to a note using
-
-@mudela[fragment,verbatim,center]
-  c'4-\spanrequest \start "slur"
-  c'4-\spanrequest \stop "slur"
-@end mudela
-
-The slur syntax with parentheses is a shorthand for this.
-
-
-
-@cindex tremolo marks
-
-@node tremolo, Compound music expressions, manualbeam, LilyPond 1-2-0 Reference Manual
-
-Tremolo marks can be printed on a single note by adding
-`@code{:}[@var{length}]' after the note.  The length must be at
-least 8.  A @var{length} value of 8 gives one line across
-the note stem.  If the length is omitted, then the last value is
-used, or the value of the @code{abbrev}@indexcode{abbrev} property if there was
-no last value.
-
-@mudela[verbatim,fragment,center]
-  c'2:8 c':32
-@end mudela
-
-
-
-@node Compound music expressions, compoundmusic, tremolo, LilyPond 1-2-0 Reference Manual
-@section Compound music expressions
-
-@cindex compound music expressions
-
-@node compoundmusic, relative, Compound music expressions, LilyPond 1-2-0 Reference Manual
-
-Music expressions are compound data structures.  You can nest music
-expressions any way you like.  This simple example shows how three
-chords can be expressed in two different ways:
-
-@mudela[fragment,verbatim,center]
-  \notes \context Staff {
-    \cadenza 1;
-    <a c'> <b  d' > <c' e' >
-    <{a b  c'}{c' d' e'}>
-  }
-@end mudela
-
-
-
-@cindex context selection
-
-@quotation
-
-  @code{\context}@keyindex{context}
-    @var{contexttype} [@code{=} @var{contextname}] @var{musicexpr}
-@end quotation
-
-Interpret @var{musicexpr} within a context of type @var{contexttype}. 
-If the context does not exist, it will be created.  The new context
-can optionally be given a name.  See
-section @xref{contextselection} and @xref{contextdefs} for more
-information on interpretation contexts.
-
-
-
-@cindex input modes
-
-@cindex mode switch
-
-Mode switching keywords form compound music expressions: @code{\notes}
-@keyindex{notes} @var{musicexpr}, @code{\chords} @keyindex{chords}
-@var{musicexpr}, and @code{\lyrics} @keyindex{lyrics} @var{musicexpr}. 
-These expressions do not add anything to the meaning of their
-arguments.  They are just a way to indicate that the arguments should
-be parsed in indicated mode.  See section @xref{modes} for more
-information on modes.
-
-More information on context selection can be found in
-section @xref{contextselection}.
-
-
-
-@cindex sequential music
-
-
-
-@quotation
-
-  @code{\sequential}@keyindex{sequential}
-    @code{@{} @var{musicexprlist} @code{@}}
-@end quotation
-
-This means that list should be played or written in sequence, i.e.,
-the second after the first, the third after the second.  The duration
-of sequential music is the the sum of the durations of the elements. 
-There is a shorthand, which leaves out the keyword:
-
-@quotation
-
-  @code{@{} @var{musicexprlist} @code{@}}
-@end quotation
-
-
-
-@cindex simultaneous music
-
-@indexcode{<}
-@indexcode{>}
-
-@quotation
-
-  @code{\simultaneous}@keyindex{simultaneous}
-    @code{@{} @var{musicexprlist} @code{@}}
-@end quotation
-
-It constructs a music expression where all of its arguments start at
-the same moment.  The duration is the maximum of the durations of the
-elements.  The following shorthand is a common idiom:
-
-@quotation
-
-  @code{<} @var{musicexprlist} @code{>}
-@end quotation
-
-If you try to use a chord as the first thing in your score, you might
-get multiple staffs instead of a chord.
-
-@mudela[verbatim,center]
-  \score {
-    \notes <c''4 e''>
-    \paper {
-      linewidth = -1.;
-    }
-  }
-@end mudela
-
-This happens because the chord is interpreted by a score context.
-Each time a note is encountered a default Voice context (along with a
-Staff context) is created.  The solution is to explicitly instantiate
-a Voice context:
-
-@mudela[verbatim,center]
-  \score {
-    \notes\context Voice <c''4 e''>
-    \paper {
-      linewidth = -1.;
-    }
-  }
-@end mudela
-
-
-
-@cindex relative pitch specification
-
-@node relative, sec-repeats, compoundmusic, LilyPond 1-2-0 Reference Manual
-
-It is easy to get confused by octave changing marks and accidentally
-putting a pitch in the wrong octave.  A much better way of entering a
-note's octave is `the relative octave' mode.
-
-@quotation
-
-  @code{\relative}@keyindex{relative} @var{startpitch} @var{musicexpr}
-@end quotation
-
-The octave of notes that appear in @var{musicexpr} are calculated as
-follows: If no octave changing marks are used, the basic interval
-between this and the last note is always taken to be a fourth or
-less.@footnote{The interval is determined without regarding
-accidentals.  A @code{fisis} following a @code{ceses} will be put above
-the @code{ceses}.}  The octave changing marks `@code{'}' and `@code{,}'
-can then be added to raise or lower the pitch by an extra octave. 
-Upon entering relative mode, an absolute starting pitch must be
-specified that will act as the predecessor of the first note of
-@var{musicexpr}.
-
-Entering scales is straightforward in relative mode.
-
-@mudela[fragment,verbatim,center]
-  \relative c' {
-    c d e f g a b c c,
-  }
-@end mudela
-
-And octave changing marks are used for intervals greater than a fourth.
-
-@mudela[fragment,verbatim,center]
-  \relative c'' {
-    c g c f, c' a, e'' }
-@end mudela
-
-If the preceding item is a chord, the first note of the chord is used
-to determine the first note of the next chord.  But other notes
-within the second chord are determined by looking at the immediately
-preceding note.
-
-@mudela[fragment,verbatim,center]
-  \relative c' {
-    c <c e g> 
-    <c' e g>
-    <c, e' g>
-  }
-@end mudela 
-
-The pitch after the @code{\relative} contains a notename.  To parse
-the pitch as a notename, you have to be in note mode, so there must
-be a surrounding @code{\notes}@keyindex{notes} keyword (which is not
-shown here).
-
-The relative conversion will not affect @code{\transpose} or
-@code{\relative} sections in its argument.  If you want to use
-relative within transposed music, you must place an additional
-@code{\relative} inside the @code{\transpose}.
-
-It is strongly recommended to use relative pitch mode: less work,
-less error-prone, and more readable.
-
-
-
-Chord names are a way to generate simultaneous music expressions that
-correspond with traditional chord names.  It can only be used in
-Chord mode (see section @xref{modes}).
-
-@quotation
-
-  @var{tonic}[@var{duration}][@code{-}@var{modifiers}][@code{^}@var{subtractions}][@code{/}@var{inversion}].
-@end quotation
-
-@var{tonic} should be the tonic note of the chord, and @var{duration}
-is the chord duration in the usual notation.  There are two kinds of
-modifiers.  One type is @emph{chord additions}, which are obtained by
-listing intervals separated by dots.  An interval is written by its
-number with an optional `@code{+}' or `@code{-}' to indicate raising or
-lowering by half a step.  Chord additions has two effects: It adds
-the specified interval and all lower odd numbered intervals to the
-chord, and it may lower or raise the specified interval.  Intervals
-must be separated by a dot (`@code{.}').
-
-@quotation
-
-@mudela[fragment,verbatim]
-\transpose c'' {
-  \chords {
-    c1  c-3-       c-7     c-8
-    c-9 c-9-.5+.7+ c-3-.5- c-4.6.8
-  }
-}
-
-@end mudela
-@end quotation
-
-The second type of modifier that may appear after the `@code{-}' is a
-named modifier.  Named modifiers are listed in the file
-@file{chord-modifiers.ly}.  The available modifiers are `@code{m}' and
-`@code{min}' which lower the 3rd half a step, `@code{aug}@indexcode{aug}' which
-raises the 5th, `@code{dim}@indexcode{dim}' which lowers the 5th,
-`@code{maj}@indexcode{maj}' which adds a raised 7th, and `@code{sus}@indexcode{sus}'
-which replaces the 5th with a 4th.
-
-@quotation
-
-@mudela[fragment,verbatim]
-\transpose c'' {
-  \chords {
-    c1-m c-min7 c-maj c-aug c-dim c-sus
-  }
-}
-
-@end mudela
-@end quotation
-
-Chord subtractions are used to eliminate notes from a chord.  The
-notes to be subtracted are listed after a `@code{^}' character,
-separated by dots.
-
-@mudela[fragment,verbatim,center]
-  \transpose c'' {
-    \chords {
-      c1^3 c-7^5.3 c-8^7
-    }
-  }
-@end mudela 
-
-Chord inversions can be specified by appending `@code{/}@indexcode{/}' and
-the name of a single note to a chord.  This has the effect of
-lowering the specified note by an octave so it becomes the lowest
-note in the chord.  If the specified note is not in the chord, a
-warning will be printed.
-
-@mudela[fragment,verbatim,center]
-  \transpose c''' {
-    \chords {
-      c1 c/e c/g c-7/e
-    }
-  }
-
-@end mudela 
-
-Throughout these examples, chords have been shifted around the staff
-using @code{\transpose}.
-
-You should not combine @code{\relative} with named chords. 
-
-
-
-@cindex tuplets
-
-Tuplets are made out of a music expression by multiplying their
-duration with a fraction.
-
-@quotation
-
-  @code{\times}@keyindex{times} @var{fraction} @var{musicexpr}
-@end quotation
-
-The duration of @var{musicexpr} will be multiplied by the fraction. 
-In print, the fraction's denominator will be printed over the notes,
-optionally with a bracket.  The most common tuplet is the triplet in
-which 3 notes have the length of 2, so the notes are 2/3 of
-their written length:
-
-@mudela[fragment,verbatim,center]
-  g'4 \times 2/3 {c'4 c' c'} d'4 d'4
-@end mudela
-
-
-
-@cindex grace notes
-
-@quotation
-
-  @code{\grace}@keyindex{grace} @var{musicexpr}
-@end quotation
-
-A grace note expression has duration 0; the next real note is
-assumed to be the main note.
-
-You cannot have the grace note after the main note, in terms of
-duration, and main notes, but you can typeset the grace notes to the
-right of the main note using the property
-@code{graceAlignPosition}@indexcode{graceAlignPosition}.
-
-When grace music is interpreted, a score-within-a-score is set up:
-@var{musicexpr} has its own time bookkeeping, and you could (for
-example) have a separate time signature within grace notes.  While in
-this score-within-a-score, you can create notes, beams, slurs, etc.
-Unbeamed eighth notes and shorter by default have a slash through the
-stem.  This behavior can be controlled with the
-@code{stemStyle}@indexcode{stemStyle} property.
-
-@quotation
-
-@mudela[fragment,verbatim]
-\relative c'' {
-  \grace c8 c4 \grace { [c16 c16] } c4
-  \grace { \property Grace.stemStyle = "" c16 } c4
-}
-
-@end mudela
-@end quotation
-
-At present, nesting @code{\grace}@keyindex{grace} notes, e.g.
-
-@quotation
-
-  @code{\grace @{ \grace c32 c16 @} c4}
-@end quotation
-
-may result in run-time errors of LilyPond.  Since the meaning of such
-a construct is unclear, we don't consider this a loss.  Similarly,
-juxtaposing two @code{\grace} sections is syntactically valid, but
-makes no sense and may cause runtime errors.
-
-Ending a staff or score with grace notes may also generate a run-time
-error, since there will be no main note to attach the grace notes to.
-
-
-
-@cindex repeats
-
-@node sec-repeats, transpose, relative, LilyPond 1-2-0 Reference Manual
-
-In order to specify repeats, use the @code{\repeat}@keyindex{repeat}
-keyword.  Since repeats look and sound differently when played or
-printed, there are a few different variants of repeats.
-
-@table @samp
-  @item unfolded @* 
-    Repeated music is fully written (played) out.  Useful for MIDI
-    output.
-
-  @item volta @* 
-    This is the normal notation: Repeats are not written out, but
-    alternative endings (voltas) are printed, left to right.
-
-  @item folded @* 
-    Alternative endings are written stacked, which is useful for
-    lyrics.
-@end table  
-
-The syntax for repeats is
-
-@quotation
-
-  @code{\repeat} @var{variant} @var{repeatcount} @var{repeatbody}
-@end quotation
-
-If you have alternative endings, you may add
-
-@quotation
-
-  @code{\alternative}@keyindex{alternative}
-    @code{@{} @var{alternative1}
-            @var{alternative2}
-            @var{alternative3} ... @code{@}}
-@end quotation
-
-where each @var{alternative} is a Music expression.
-
-Normal notation repeats are used like this:
-
-@quotation
-
-@mudela[fragment,verbatim]
-  c'1
-  \repeat volta 2 { c'4 d' e' f' }
-  \repeat volta 2 { f' e' d' c' }
-
-@end mudela
-@end quotation
-
-With alternative endings:
-
-@quotation
-
-@mudela[fragment,verbatim]
-  c'1
-  \repeat volta 2 {c'4 d' e' f'} 
-  \alternative { {d'2 d'} {f' f} }
-
-@end mudela
-@end quotation
-
-Folded repeats look like this:@footnote{Folded repeats offer little
-more over simultaneous music.  However, it is to be expected that
-more functionality -- especially for the MIDI backend -- will be
-implemented.}
-
-@quotation
-
-@mudela[fragment,verbatim]
-  c'1
-  \repeat fold 2 {c'4 d' e' f'} 
-  \alternative { {d'2 d'} {f' f} }
-
-@end mudela
-@end quotation
-
-@quotation
-
-@mudela[fragment,verbatim]
-\context Staff {
-  \relative c' {
-    \partial 4;
-    \repeat volta 2 { e | c2 d2 | e2 f2 | }
-    \alternative { { g4 g g } { a | a a a a | b1 } }
-  }
-}
-
-@end mudela
-@end quotation
-
-If you don't give enough alternatives for all of the repeats, then
-the first alternative is assumed to be repeated often enough to equal
-the specified number of repeats.
-
-@quotation
-
-@mudela[fragment,verbatim]
-\context Staff {
-  \relative c' {
-    \repeat volta 3 { \partial 4; e | c2 d2 | e2 f2 | }
-    \alternative { { g4 g g }
-                   {\partial 1; e4 e e } 
-                   {\partial 1; a a a a | b1 } }
-  }
-}
-
-@end mudela
-@end quotation
-
-It is possible to nest @code{\repeat}.  This is not entirely
-supported: the notes will come be in the right places, but the repeat
-bars will not.
-
-
-
-@cindex transposition of pitches
-
-@node transpose, Ambiguities, sec-repeats, LilyPond 1-2-0 Reference Manual
-
-A music expression can be transposed with
-@code{\transpose}@keyindex{transpose}.  The syntax is
-
-@quotation
-
-  @code{\transpose} @var{pitch} @var{musicexpr}
-@end quotation
-
-This means that middle C in @var{musicexpr} is transposed to
-@var{pitch}.
-
-@code{\transpose} distinguishes between enharmonic pitches: both
-@code{\transpose cis'} or @code{\transpose des'} will transpose up half
-a tone.  The first version will print sharps and the second version
-will print flats.
-
-@quotation
-
-@mudela[fragment,verbatim]
-\context Staff {
-  \clef "F";
-  { \key e; c d e f }
-  \clef "G";
-  \transpose des'' { \key e; c d e f }
-  \transpose cis'' { \key e; c d e f }
-}
-
-@end mudela
-@end quotation
-
-If you want to use both @code{\transpose} and @code{\relative}, then
-you must use @code{\transpose} first.  @code{\relative} will have no
-effect music that appears inside a @code{\transpose}.
-
-
-
-@cindex automatic lyric durations
-
-If you have lyrics that are set to a melody, you can import the
-rhythm of that melody into the lyrics using @code{\addlyrics}.
-@keyindex{addlyrics} The syntax for this is
-
-@quotation
-
-  @code{\addlyrics} @var{musicexpr1 musicexpr2}
-@end quotation
-
-This means that both @var{musicexpr1} and @var{musicexpr2} are
-interpreted, but that every non-command atomic music expression
-(``every syllable'') in @var{musicexpr2} is interpreted using timing
-of @var{musicexpr1}.
-
-If the property @code{automaticMelismata}@indexcode{automaticMelismata} is set in the
-context of @var{musicexpr1}, no lyrics will be put on slurred or tied
-notes.
-
-@quotation
-
-@mudela[verbatim,fragment]
-\addlyrics
-\transpose c'' {
-  \property Voice.automaticMelismata = "1"
-  c8 () cis d8. e16 f2
-}
-\context Lyrics \lyrics {
- do4 re mi fa }
-
-@end mudela
-@end quotation
-
-You should use a single rhythm melody, and single rhythm lyrics (a
-constant duration is the obvious choice).  If you do not, you will get
-undesired effects when using multiple stanzas:
-
-@quotation
-
-@mudela[verbatim,fragment]
-\addlyrics
-\transpose c'' {
-  c8 () cis d8. e16 f2
-}
-\context Lyrics \lyrics
-< { do4 re mi fa }
-  { do8 re mi fa } >
-
-@end mudela
-@end quotation
-
-It is valid (but probably not very useful) to use notes instead of
-lyrics for @var{musicexpr2}.
-
-
-
-
-@node Ambiguities, Notation conversion specifics, transpose, LilyPond 1-2-0 Reference Manual
-@section Ambiguities
-
-@cindex ambiguities
-
-The grammar contains a number of ambiguities.@footnote{The authors
-hope to resolve them at a later time.}
-
-@itemize @bullet
-  @item  The assignment
-
-       @quotation
-
-         @example 
-foo = bar 
-@end example 
-
-       @end quotation
-
-       can be interpreted as making a string identifier @code{\foo}
-       containing @code{"bar"}, or a music identifier @code{\foo}
-       containing the syllable `bar'.
-
-  @item  The assignment
-
-       @quotation
-
-         @example 
-foo = -6 
-@end example 
-
-       @end quotation
-
-       can be interpreted as making an integer identifier
-       containing -6, or a Request identifier containing the
-       fingering `6' (with neutral direction).
-
-  @item  If you do a nested repeat like
-
-       @quotation
-
-@example 
-\repeat ...
-\repeat ...
-\alternative 
-@end example 
-
-       @end quotation
-
-       then it is ambiguous to which @code{\repeat} the
-       @code{\alternative} belongs.  This is the classic if-then-else
-       dilemma.  It may be solved by using braces.
-
-  @item  (an as yet unidentified ambiguity :-)
-@end itemize
-
-
-
-@node Notation conversion specifics, autobeam, Ambiguities, LilyPond 1-2-0 Reference Manual
-@section Notation conversion specifics
-
-
-
-@cindex automatic beam generation
-
-@node autobeam, lyricprint, Notation conversion specifics, LilyPond 1-2-0 Reference Manual
-
-By default, LilyPond will generate beams automatically.  This feature
-can be disabled by setting the @code{Voice.noAutoBeaming}@indexcode{Voice.noAutoBeaming}
-property to 1.  It can be overridden for specific cases by
-specifying explicit beams as described in
-section @xref{manualbeam}.
-
-A large number of Voice properties are used to decide how to generate
-beams.  Their default values appear in @file{auto-beam-settings.ly}.
-In general, beams can begin anywhere, but their ending location is
-significant.  Beams can end on a beat, or at durations specified by
-the @code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} property.  To end beams every
-quarter note, for example, you could set
-@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} equal to `@code{"1/4"}'.  To end beams
-at every three eighth notes you would set it to `@code{"3/8"}'.  The
-same syntax can be used to specify beam starting points using
-@code{Voice.beamAutoBegin}@indexcode{Voice.beamAutoBegin}.
-
-To allow different settings for different time signatures, these
-property names can start with `@code{time}@var{N}@code{_}@var{M}' to
-restrict the definition to `@var{N}@code{/}@var{M}' time.  For example,
-to specify beams ending only for 6/8 time you would use the
-property @code{Voice.time6_8beamAutoEnd}.  To allow different endings
-for notes of different durations, the duration can be tacked onto the
-end of the property.  To specify beam endings for beams that contain
-32nd notes, you would use @code{Voice.beamAutoEnd_32}.
-
-
-
-@cindex chord names
-
-@cindex chords
-
-@cindex printing!chord names
-
-For displaying printed chord names, use the @code{ChordNames}@indexcode{ChordNames}
-and @code{ChordNameVoice}@indexcode{ChordNameVoice} contexts.  The chords may be entered
-either using the notation described above, or directly using
-simultaneous music.
-
-@quotation
-
-@mudela[fragment,verbatim]
-<
-  \context ChordNames {
-    \chords{a b c} \notes{<d f g>  <e g b>}
-  }
-  \context Staff \notes {
-    a b c' d' e'
-  }
->
-
-@end mudela
-@end quotation
-
-LilyPond examines chords specified as lists of notes to determine a
-name to give the chord.  By default, LilyPond will not try to
-identify chord inversions:
-
-@mudela[fragment,verbatim,center]
-  <
-    \context ChordNameVoice \notes {
-      <e'1 g' c''>
-    }
-    \context Thread \notes {
-      <e'1 g' c''>
-    }
-  >
-@end mudela
-
-If you want inversions to be recognized, you must set the property
-@code{ChordNames.chordInversion}@indexcode{ChordNames.chordInversion}:
-
-@mudela[fragment,verbatim,center]
-  <
-    \property Score.chordInversion = 1
-    \context ChordNameVoice \notes {
-      <e'1 g' c''>
-    }
-    \context Thread \notes {
-      <e'1 g' c''>
-    }
-  >
-@end mudela
-
-
-
-@cindex lyrics
-
-@cindex printing!lyrics
-
-@node lyricprint, Notation Contexts, autobeam, LilyPond 1-2-0 Reference Manual
-
-Lyric syllables must be interpreted within a @code{Lyrics} context
-
-@cindex context!Lyrics
- for printing them.
-
-Here is a full example: 
-
-@quotation
-
-@mudela[verbatim]
-\score {
-  <
-    \notes \transpose c'' {
-      c d e c | c d e c |
-      e f g2 | e4 f g2 \bar "|.";
-    }
-    \context Lyrics \lyrics { 
-      Va-4 der Ja- cob Va- der Ja- cob
-      Slaapt gij nog?2 Slaapt4 gij nog?2
-    }
-  >
-}
-
-@end mudela
-@end quotation
-
-You may want a continuous line after the syllables to show melismata. 
-To achieve this effect, add a `@code{__}' lyric as a separate word
-after the lyric to be extended.  This will create an extender, a line
-that extends over the entire duration of the lyric.  This line will
-run all the way to the start of the next lyric, so you may want to
-shorten it by using a blank lyric (using `@code{_}').
-
-@quotation
-
-@mudela[verbatim]
-\score {
-  <
-    \notes \relative c'' {
-      a4 () b () c () d | c () d () b () a | c () d () b () a
-    }
-    \context Lyrics \lyrics {
-      foo1 __ | bar2. __ _4 | baz1 __
-    }
-  >
-}
-
-@end mudela
-@end quotation
-
-     
-If you want to have hyphens centered between syllables (rather than
-attached to the end of the first syllable) you can use the special
-`@code{-}@code{-}' lyric as a separate word between syllables.  This
-will result in a hyphen which length varies depending on the space
-between syllables, and which will be centered between the syllables. 
-For example:
-
-@quotation
-
-@mudela[verbatim]
-\score {
-  <
-    \notes \transpose c'' {
-      c d e c | c d e c |
-      e f g2 | e4 f g2 \bar "|.";
-    }
-    \context Lyrics \lyrics {
-      Va4 -- der Ja -- cob | Va -- der Ja -- cob |
-      Slaapt gij nog?2 | Slaapt4 gij nog?2
-    }
-  >
-}
-
-@end mudela
-@end quotation
-
-
-
-@node Notation Contexts, contextselection, lyricprint, LilyPond 1-2-0 Reference Manual
-@section Notation Contexts
-
-@cindex notation contexts
-
-Notation contexts are objects that only exist during a run of
-LilyPond.  During the interpretation phase of LilyPond, the Music
-expression contained in a @code{\score} block is interpreted in time
-order.  This is the order in which humans read, play, and write
-music.
-
-A context is an object that holds the reading state of the
-expression; it contains information like
-
-@itemize @bullet
-  @item  What notes are playing at this point?
-  @item  What symbols will be printed at this point?
-  @item  In what style will they printed?
-  @item  What is the current key signature, time signature, point within
-       the measure, etc.?
-@end itemize
-
-Contexts are grouped hierarchically: A @code{Voice} context is
-contained in a @code{Staff} context (because a staff can contain
-multiple voices at any point), a @code{Staff} context is contained in
-a @code{Score}, @code{StaffGroup}, or @code{ChoirStaff} context (because
-these can all contain multiple staffs).
-
-Contexts associated with sheet music output are called @emph{notation
-contexts}, those for sound output are called playing contexts.
-
-Contexts are created either manually or automatically.  Initially,
-the top level music expression is interpreted by the top level
-context (the @code{Score} context).  When a atomic music expression
-(i.e. a note, a rest, @code{\bar}, or @code{\time} commands), a nested
-set of contexts is created that can process these atomic expressions,
-as in this example:
-
-@quotation
-
-  @example 
-\score @{ \notes < c4 > @} 
-@end example 
-
-@end quotation
-
-The sequential music, `@code{@{ c4 @}}' is interpreted by @code{Score}
-context. When the note `@code{c4}' itself is interpreted, a set of
-contexts is needed that will accept notes.  The default for this is a
-@code{Voice} context, contained in a @code{Staff} context.  Creation of
-these contexts results in the staff being printed.
-
-
-@node contextselection, Notation output definitions, Notation Contexts, LilyPond 1-2-0 Reference Manual
-
-@cindex context
-
-You can also create contexts manually, and you probably have to do so
-if you want to typeset complicated multiple part material.  If a
-`@code{\context} @var{name} @var{musicexpr}' expression is encountered
-during the interpretation phase, the @var{musicexpr} argument will be
-interpreted with a context of type @var{name}.  If you specify a name,
-the specific context with that name is searched.
-
-If a context of the specified type and name can not be found, a new
-one is created.  For example,
-
-@quotation
-
-@mudela[verbatim]
-\score {
-  \notes \relative c'' {
-    c4 <d4 \context Staff = "another" e4> f
-  }
-}
-
-@end mudela
-@end quotation
-
-In this example, the @code{c} and @code{d} are printed on the
-default staff.  For the @code{e}, a context Staff called
-`@code{another}' is specified; since that does not exist, a new
-context is created.  Within @code{another}, a (default) Voice context
-is created for the @code{e4}.  When all music referring to a
-context is finished, the context is ended as well.  So after the
-third quarter, @code{another} is removed.
-
-Almost all music expressions inherit their interpretation context
-from their parent.  In other words, suppose that the syntax for a
-music expression is
-
-@quotation
-
-  @code{\keyword} @var{musicexpr1} @var{musicexpr2} ...
-@end quotation
-
-When the interpretation of this music expression starts, the context
-for @var{musicexpr1}, @var{musicexpr2}, etc. is that of the total
-expression.
-
-Lastly, you may wonder, why this:
-
-@quotation
-
-@example 
-\score @{
-  \notes \relative c'' @{
-    c4 d4 e4
-  @}
-@} 
-@end example 
-
-@end quotation
-
-doesn't result in this:
-
-@mudela[]
-
-  \score {
-    \notes \relative c'' {
-      <c4> <d4> <e4>
-    }
-  }
-
-@end mudela
-
-For the @code{c4}, a default @code{Staff} (with a contained
-@code{Voice}) context is created.  After the @code{c4} ends, no
-music refers to this default staff, so it would be ended, with the
-result shown.  To prevent this inconvenient behavior, the context to
-which the sequential music refers is adjusted during the
-interpretation.  So after the @code{c4} ends, the context of the
-sequential music is also the default @code{Voice} context. 
-The @code{d4} gets interpreted in the same context
-as @code{c4}.
-
-
-
-These are the contexts supplied with the package.  They are defined
-in the initialization file @file{ly/engraver.ly}.
-
-@table @samp
-  @item @code{Grace}@indexcode{Grace} @* 
-    The context for handling grace notes.  It is instantiated
-    automatically when you use @code{\grace}.  Basically, it is an
-    `embedded' miniature of the Score context.  Since this context
-    needs special interaction with the rest of LilyPond, you should
-    not explicitly instantiate it.
-
-  @item @code{LyricVoice}@indexcode{LyricVoice} @* 
-    Corresponds to a voice with lyrics.  Handles the printing of a
-    single line of lyrics.
-
-  @item @code{Thread}@indexcode{Thread} @* 
-    Handles note heads, and is contained in the Voice context.  You
-    have to instantiate this explicitly if you want to adjust the
-    style of individual note heads.
-
-  @item @code{Voice}@indexcode{Voice} @* 
-    Corresponds to a voice on a staff.  This context handles the
-    conversion of dynamic signs, stems, beams, super- and subscripts,
-    slurs, ties, and rests.
-
-    You have to instantiate this explicitly if you want to have
-    multiple voices on the same staff.
-
-  @item @code{ChordNamesVoice}@indexcode{ChordNamesVoice} @* 
-    A voice with chord names.  Handles printing of a line of chord
-    names.
-
-  @item @code{ChordNames}@indexcode{ChordNames} @* 
-    Typesets chord names.  Can contain @code{ChordNamesVoice}
-    contexts.
-
-  @item @code{Lyrics}@indexcode{Lyrics} @* 
-    Typesets lyrics.  It can contain @code{LyricVoice} contexts.
-
-  @item @code{Staff}@indexcode{Staff} @* 
-    Handles clefs, bar lines, keys, accidentals.  It can contain
-    @code{Voice} contexts.
-
-  @item @code{RhythmicStaff}@indexcode{RhythmicStaff} @* 
-    A context like @code{Staff} but for printing rhythms.  Pitches are
-    ignored; the notes are printed on one line.  It can contain
-    @code{Voice} contexts.
-
-  @item @code{GrandStaff}@indexcode{GrandStaff} @* 
-    Contains @code{Staff} or @code{RhythmicStaff} contexts.  It adds a
-    brace on the left side, grouping the staffs together.  The bar
-    lines of the contained staffs are connected vertically.  It can
-    contain @code{Staff} contexts.
-
-  @item @code{PianoStaff}@indexcode{PianoStaff} @* 
-    Just like @code{GrandStaff} but with @code{minVerticalAlign} set
-    equal to @code{maxVerticalAlign} so that interstaff beaming and
-    slurring can be used.
-
-  @item @code{StaffGroup}@indexcode{StaffGroup} @* 
-    Contains @code{Staff} or @code{RhythmicStaff} contexts.  Adds a
-    bracket on the left side, grouping the staffs together.  The bar
-    lines of the contained staffs are connected vertically.  It can
-    contain @code{Staff}, @code{RhythmicStaff}, @code{GrandStaff}, or
-    @code{Lyrics} contexts.
-
-  @item @code{ChoirStaff}@indexcode{ChoirStaff} @* 
-    Identical to @code{StaffGroup} except that the contained staffs
-    are not connected vertically.
-
-  @item @code{Score}@indexcode{Score} @* 
-    This is the top level notation context.  No other context can
-    contain a @code{Score} context.  This context handles the
-    administration of time signatures.  It also makes sure that items
-    such as clefs, time signatures, and key-signatures are aligned
-    across staffs.  It can contain @code{Lyrics}, @code{Staff},
-    @code{RhythmicStaff}, @code{GrandStaff}, @code{StaffGroup}, and
-    @code{ChoirStaff} contexts.
-
-    You cannot explicitly instantiate a Score context (since it is
-    not contained in any other context).  It is instantiated
-    automatically when an output definition (a @code{\score} or
-    @code{\paper} block) is processed.
-@end table
-
-
-
-Properties that are set in one context are inherited by all of the
-contained contexts.  This means that a property valid for the
-@code{Voice} context can be set in the @code{Score} context (for
-example) and thus take effect in all @code{Voice} contexts.
-
-Properties can be preset within the @code{\translator} block
-corresponding to the appropriate context.  In this case, the syntax
-is
-
-@quotation
-
-  @var{propname} @code{=} @var{value}
-@end quotation
-
-This assignment happens before interpretation starts, so a
-@code{\property} expression will override any predefined settings.
-
-The @code{\property} expression will create any property you specify.
-There is no guarantee that a property will be used.  So if you spell
-a property name wrong, there will be no error message.
-
-The property settings are used during the interpretation phase.  They
-are read by the LilyPond modules where interpretation contexts are
-built of.  These modules are called @emph{translators}.  Translators for
-notation are called @emph{engravers}, and translators for sound are
-called @emph{performers}.
-
-The precise result of a property is determined by the implementation
-of the translator that reads them.  Therefore, the result of a
-property can vary, since it is implementation and configuration
-dependent.
-
-In order to fully find out what properties are used, you must
-currently search the source code for calls to @code{get_property}. 
-The rest of the section is devoted to an (incomplete) overview of
-available properties.
-
-
-@cindex properties!Lyrics
-
-@table @samp
-  @item @code{textStyle}@indexcode{textStyle} @* 
-    Set the font for lyrics.  The available font choices are
-    @code{roman}, @code{italic}, @code{bold}, @code{large}, @code{Large},
-    @code{typewriter}, and @code{finger}.  The @code{finger} font can
-    only display numbers.  Note also that you must be careful when
-    using @code{\property} in Lyrics mode, because of the way strings
-    are parsed.  Either put quotes around the arguments to
-    @code{\property} or be sure to leave a space on both sides of the
-    dot.
-@end table
-
-
-@cindex properties!Thread
-
-@table @samp
-  @item @code{noteheadStyle}@indexcode{noteheadStyle} @* 
-    Selects type of note head.  Choices are @code{cross},
-    @code{diamond}, @code{harmonic}, @code{transparent}, and @code{""}. 
-    They are shown in that order below.
-
-    @mudela[center]
-
-      \score {
-        \notes { 
-          \property Staff.barNonAuto = 1
-          \property Voice.noteHeadStyle = cross 
-          a'
-          \property Voice.noteHeadStyle = diamond
-          a'
-          \property Voice.noteHeadStyle = harmonic
-          a'
-          \property Voice.noteHeadStyle = transparent
-          a' 
-          \property Voice.noteHeadStyle = ""
-          a'
-        }
-        \paper {
-          linewidth = -1.;
-        }
-      }
-    
-@end mudela
-@end table
-
-@subsubheading Grace properties
-
-@cindex properties!Grace
-
-@table @samp  
-  @item @code{stemStyle}@indexcode{stemStyle} @* 
-    By default set to @code{"grace"} meaning that all unbeamed 
-    notes with flags are typeset with a slash through the flag. 
-    Setting to @code{""} gives standard flags.
-@end table
-
-
-@cindex properties!Voice
-
-@table @samp  
-  @item @code{abbrev}@indexcode{abbrev} @* 
-    Set length for tremolo to be used if no length is explicitly
-    specified. 
-
-  @item @code{articulationScriptPadding}@indexcode{articulationScriptPadding}
-    @* 
-    Determines the extra space added between articulation marks, such
-    as staccato, tenuto, trill, up/down bow or fermata, and the
-    closest staff line or note.
-
-  @item @code{articulationScriptVerticalDirection}
-    @indexcode{articulationScriptVerticalDirection} @* 
-    Determines the location of articulation marks.  Set to @code{\up}
-    to print marks above the staff; set to @code{\down} to print marks
-    below the staff.  This property does not override explicit
-    directions marked with `@code{^}' or `@code{_}' in the mudela file.
-    
-  @item @code{noAutoBeaming}@indexcode{beamAuto} @* 
-    If set to 1 then beams are not generated automatically.
-
-  @item @code{beamAutoEnd}@indexcode{beamAutoEnd} @* 
-    Specifies when automatically generated beams can end.  See
-    section @xref{autobeam}.
-
-  @item @code{beamAutoBegin}@indexcode{beamAutoBegin} @* 
-    Specifies when automatically generated beams can start.  See
-    section @xref{autobeam}.
-
-  @item @code{beamquantisation}@indexcode{beamquantisation} @* 
-    Set to @code{\none} for no quantization.  Set to @code{\normal} to
-    quantize position and slope.  Set to @code{\traditional} to avoid
-    wedges.  These three settings are available via
-    @code{\beamposfree}@keyindex{beamposfree},
-    @code{\beamposnormal}@keyindex{beamposnormal}, and
-    @code{\beampostraditional}@keyindex{beampostraditional}.
-
-  @item @code{beamslopedamping}@indexcode{beamslopedamping} @* 
-    Set to @code{\none} for undamped beams.  Set to @code{\normal} for
-    damped beams.  Set to @code{\infinity} for beams with zero slope. 
-    The identifiers
-    @code{\beamslopeproportional}@keyindex{beamslopeproportional},
-    @code{\beamslopedamped}@keyindex{beamslopedamped}, and
-    @code{\beamslopezero}@keyindex{beamslopezero} each set the
-    corresponding value.
-
-  @item @code{dynamicDirection}@indexcode{dynamicDirection} @* 
-    Determines location of dynamic marks.  Set to @code{\up} to print
-    marks above the staff; set to @code{\down} to print marks below
-    the staff.
-
-  @item @code{dynamicStyle}@indexcode{dynamicStyle} @* 
-    Set the text style for dynamics.  
-
-  @item @code{fontSize}@indexcode{fontSize} @* 
-    Can be used to select smaller font sizes for music.  The normal
-    font size is 0, and the two smaller sizes are -1
-    and -2.
-
-   @item @code{forceHorizontalShift}@indexcode{forceHorizontalShift} @* 
-    Force horizontal shift for collision resolution.  It overrides
-    automatic collision resolution.  The value is the shift amount
-    expressed in @code{note_width}, as set in the paper section.
-
-@ignore
-
-TODO: explain this in refman.
-
-horizontalNoteShift does not set shifting itself.
-
-Notes that are likely to collide, are grouped into a Collision
-object.  Colliding notes within the collision are then grouped based
-on their stem direction and horizontalNoteShift setting, like this:
-
-                        |
-                        | | 
-                       0u |  |
-                         1u  |
-                            2u
-
-
-               2d
-               |  1d
-               |  |  0d
-                  |  |
-                     |
-
-(0,1,2, ..  = horizontalNoteShift value.  u,d = stem up / stem down)
-
-Only then the seperate groups are shifted horizontally.  When
-collision is done with this shifting, any forceHorizontalShift
-settings will override the default shifts.
-
-
-This scheme makes sense, because you only have to set
-horizontalNoteShift once in each voice.  (Otherwise you'd have to set
-and unset it for each collision in a score.)
-@end ignore
-
-
-  @item @code{horizontalNoteShift}@indexcode{horizontalNoteShift} @* 
-    Enable LilyPond to shift notes horizontally if they collide with
-    other notes.  This is useful when typesetting many voices on one
-    staff.  The identifier @code{\shift}@keyindex{shift} is defined to
-    enable this.  Traditionally, the outer chords (the upmost and
-    downmost voices), should have no @code{horizontalNoteShift}.
-
-  @item @code{markScriptPadding}@indexcode{markScriptPadding} @* 
-    Determines the extra space added between the mark and the closest
-    staff line or note.
-
-  @item @code{markDirection}@indexcode{markDirection} @* 
-    Determines if marks should be printed above or below the staff.
-    Set to @code{\up} to print marks above the staff; set to
-    @code{\down} to print marks below the staff.
-
-  @item @code{midiInstrument}@indexcode{midiInstrument} @* 
-    Sets the instrument for MIDI output.  If this property is not set
-    then LilyPond will use the @code{instrument} property.  This must
-    be set to one of the strings on the list of MIDI instruments that
-    appears in section @xref{midilist}.  If you use a string which
-    is not listed, LilyPond will silently substitute piano.
-
-  @item @code{oldTieBehavior}@indexcode{oldTieBehavior} @* 
-    Set to 1 in order to get old tie behavior where ties would
-    connect unequal pitches.  This property is deprecated, and its
-    use is not recommended.
-
-  @item @code{restStyle}@indexcode{restStyle} @* 
-    Change the layout of rests shorter than quarter notes. 
-    Currently, the standard layout @code{""} and mensural notation
-    @code{"mensural"} are available. Mensural rests of duration
-    32 or shorter are not available.
-    
-  @item @code{scriptHorizontal}@indexcode{scriptHorizontal} @* 
-    Put scripts left or right of note heads.  Support for this is
-    limited.  Accidentals will collide with scripts.
-    
-  @item @code{slurVerticalDirection}@indexcode{slurVerticalDirection} @* 
-    Set to @code{\free} for free choice of slur direction, set to
-    @code{\up} to force slurs up, set to @code{\down} to force slurs
-    down.  The shorthands @code{\slurup}@keyindex{slurup},
-    @code{\slurdown}@keyindex{slurdown}, and
-    @code{\slurboth}@keyindex{slurboth} are available.
-
-  @item @code{slurDash}@indexcode{slurDash} @* 
-    Set to 0 for normal slurs, 1 for dotted slurs, and a
-    larger value for dashed slurs.  Identifiers
-    @code{\slurnormal}@keyindex{slurnormal} and
-    @code{\slurdotted}@keyindex{slurdotted} are predefined to set the
-    first two settings.
-
-@item @code{stemLength}@indexcode{stemLength} @* 
-    Set length of stems.  Unit is `@code{interline}/2', so
-    @code{stemLength} defaults to 7.
-
-  @item @code{stemLeftBeamCount}@indexcode{stemLeftBeamCount} @* 
-    Specify the number of beams to draw on the left side of the next
-    note.  Overrides automatic beaming.  The value is only used once,
-    and then it is erased.
-
-  @item @code{stemRightBeamCount}@indexcode{stemRightBeamCount} @* 
-    Specify the number of beams to draw on the right side of the next
-    note.  Overrides automatic beaming.  The value is only used once,
-    and then it is erased.
-  @item @code{tieVerticalDirection}@indexcode{tieVerticalDirection} @* 
-    Set to @code{\free} for free choice of tie direction, set to
-    @code{\up} to force ties up, set to @code{\down} to force ties
-    down.
-
-  @item @code{transposing}@indexcode{transposing} @* 
-    Transpose the MIDI output.  Set this property to the number of
-    half-steps to transpose by.
-
-  
-  @item @code{textEmptyDimension}@indexcode{textEmptyDimension} @* 
-    If set to 1 then text placed above or below the staff is
-    assumed to have zero width.
-  
-  @item @code{textStyle}@indexcode{textStyle} @* 
-    Set the text style for superscripts and subscripts.  See above
-    for list of text styles.
-
-  @item @code{textScriptPadding}@indexcode{textScriptPadding} @* 
-    Determines the extra space added between superscripted resp.
-    subscripted text and the closest staff line or note.
-
-  @item @code{verticalDirection}@indexcode{verticalDirection} @* 
-    Determines the direction of stems, subscripts, beams, slurs, and
-    ties.  Set to @code{\down} to force them down, @code{\up} to force
-    them up, or @code{\free} to let LilyPond decide.  This can be used
-    to distinguish between voices on the same staff.  The
-    @code{\stemdown}@keyindex{stemdown}, @code{\stemup}@keyindex{stemup},
-    and @code{\stemboth}@keyindex{stemboth} identifiers set this
-    property.
-    
-
-  @item @code{tupletDirection}@indexcode{tupletDirection} @* 
-    Determines the direction of triplets and other tuplets.  Set to
-    @code{\down} to force them below the staff, @code{\up} to force
-    them above, or @code{\free} to let LilyPond decide.
-
-  @item @code{tupletVisibility}@indexcode{tupletVisibility} @* 
-    Determines whether tuplets of notes are labelled.  Setting
-    to 0 shows nothing; setting to 1 shows a number;
-    setting to 2 shows a number and a bracket if there is no
-    beam; setting to 3 shows a number, and if there is no beam
-    it adds a bracket; setting to 4 shows both a number and a
-    bracket unconditionally.
-
-@end table
-
-@subsubheading Staff properties
-
-@cindex properties!Staff
-
-@table @samp
-  @item @code{barNonAuto}@indexcode{barNonAuto} @* 
-    If set to 1 then bar lines will not be printed
-    automatically; they must be explicitly created with @code{\bar}
-    keywords.  Unlike with the @code{\cadenza} keyword, measures are
-    still counted.  Bar generation will resume according to that
-    count if this property is set to zero.
-
-  @item @code{barNumberDirection}@indexcode{barNumberDirection} @* 
-    Set to @code{\up} or @code{\down} to put bar numbers above or below
-    the staff.
-
-  @item @code{barNumberHangOnClef}@indexcode{barNumberHangOnClef} @* 
-    Set to 1 to cause bar numbers to appear above or below the
-    clef instead of on the bar line.  This property is deprecated. 
-    Do not use.
-
-  @item @code{barNumberScriptPadding}@indexcode{barNumberScriptPadding} @* 
-    Sets extra space between the bar number and the bar it labels.
-
-  @item @code{barSize}@indexcode{barSize} @* 
-    Specify the height of the bar lines if it should be different
-    than the staff height.
-
-  @item @code{barAtLineStart}@indexcode{barAtLineStart} @* 
-    Set to 1 to produce a bar line after the clef at the start
-    of each line (but not at the beginning of the music).
-
-  @item @code{clefStyle}@indexcode{clefStyle} @* 
-    Determines how clefs are typeset.  If set to @code{transparent},
-    the clefs are not printed at all, if set to
-    @code{fullSizeChanges}, clef changes in the middle of a line are
-    typeset with a full size clef.  By default, clef changes are
-    typeset in smaller size.
-
-  @item @code{createKeyOnClefChange}@indexcode{createKeyOnClefChange} @* 
-    Set to a nonempty string if you want key signatures to be printed
-    when the clef changes.  Set to the empty string if you do not
-    want key signatures printed.
-
-  @item @code{createInitdefaultClef}@indexcode{createInitdefaultClef} @* 
-    Specify whether clefs are created on default?  (Doesn't seem to
-    do anything.)
-
-  @item @code{defaultClef}@indexcode{defaultClef} @* 
-    Determines the default clef.  See @code{\clef} keyword.
-
-  @item @code{markHangOnClef}@indexcode{markHangOnClef} @* 
-    Set to 1 to cause marks to appear by clefs instead of by bar
-    lines.  Deprecated, use is not recommended.
-
-  @item @code{marginDirection}@indexcode{marginDirection} @* 
-    Set to @code{\left} or @code{\right} to specify location of
-    marginal scripts.
-
-  @item @code{marginScriptPadding}@indexcode{marginScriptPadding} @* 
-    Specify extra space for marginal scripts.
-
-  @item @code{forgetAccidentals}@indexcode{forgetAccidentals} @* 
-    Causes accidentals to be printed at every note instead of
-    remembered for the duration of a measure.
-
-  @item @code{noResetKey}@indexcode{noResetKey} @* 
-    Do not reset the key at the start of a measure.  Accidentals will
-    be printed only once and are in effect until overridden, possibly
-    many measures later.
-
-  @item @code{staffLineLeading}@indexcode{staffLineLeading} @* 
-    Specifies the distance (in points) between lines of the staff.
-
-  @item @code{numberOfStaffLines}@indexcode{numberOfStaffLines} @* 
-    Specifies the number of staff lines.  The default is 5.
-
-  @item @code{postBreakPadding}@indexcode{postBreakPadding} @* 
-    Extra space in points to be added after the clef, time signature
-    and key signature on the staff.  Deprecated, do not use.
-
-  @item @code{noVoltaBraces}@indexcode{noVoltaBraces} @* 
-    Set to true to suppress the printing of brackets over alternate
-    endings specified by the command @code{\alternative}.
-
-  @item @code{numberOfStaffLines}@indexcode{numberOfStaffLines} @* 
-    Sets the number of lines that the staff has.
-  @item @code{barAlways}@indexcode{barAlways} @* 
-    If set to 1 a bar line is drawn after each note.
-
-  @item @code{defaultBarType}@indexcode{defaultBarType} @* 
-    Sets the default type of bar line. See Section @xref{barlines} 
-    for a list of available bar types.
-
-  @item @code{instrument}, @code{instr}
-    @indexcode{instrument}@indexcode{instr} @* 
-    If @code{Staff_margin_engraver}
-@cindex Staff_margin_engraver
- is
-    added to the Staff translator, then the @code{instrument} property
-    is used to label the first line of the staff and the @code{instr}
-    property is used to label subsequent lines.  If the
-    @code{midiInstrument} property is not set, then @code{instrument}
-    is used to determine the instrument for MIDI output.
-
-  @item @code{keyOctaviation}@indexcode{keyOctaviation} @* 
-    If set to 1, then keys are the same in all octaves.  If set
-    to 0 then the key signature for different octaves can be
-    different and is specified independently:
-
-    @quotation
-
-      @code{\keysignature bes fis'}
-    @end quotation
-
-    The default value is 1.  Can be set to zero with
-    @code{\specialkey} or reset to 1 with @code{\normalkey}.
-
-  @item @code{timeSignatureStyle}@indexcode{timeSignatureStyle} @* 
-    Changes the default two-digit layout for time signatures.  The
-    following values are recognized:
-
-    @table @samp
-      @item @code{C}@indexcode{C} @* 
-        4/4 and 2/2 are typeset as C and struck C, respectively.  All
-        other time signatures are written with two digits.
-
-      @item @code{old}@indexcode{old} @* 
-        2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are
-        typeset with old-style mensuration marks.  All other time
-        signatures are written with two digits.
-
-      @item @code{1}@indexcode{1} @* 
-        All time signatures are typeset with a single
-        digit, e.g. 3/2 is written as 3.
-
-      @item @indexcode{CM/N}@code{C}@var{M}@code{/}@var{N}, 
-      @indexcode{oldM/N}@code{old}@var{M}@code{/}@var{N} or
-      @code{old6/8alt}@indexcode{old6/8alt} @* 
-        Tells LilyPond to use a specific symbol as time signature.
-    @end table
-
-    The different time signature characters are shown below with its
-    names:
-
-    @mudela[center]
-
-      \score {
-        \notes\relative c'' {
-          \property Voice.textStyle = typewriter
-          \property Staff.timeSignatureStyle = "C2/2"
-          \time 2/2; a2^"C2/2" a2 
-          \property Staff.timeSignatureStyle = "C4/4"
-          \time 2/2; a2^"C4/4" a2 
-          \property Staff.timeSignatureStyle = "old2/2"
-          \time 2/2; a2^"old2/2" a2 
-          \property Staff.timeSignatureStyle = "old3/2"
-          \time 2/2; a2^"old3/2" a2 
-          \property Staff.timeSignatureStyle = "old2/4"
-          \time 2/2; a2^"old2/4" a2 
-          \property Staff.timeSignatureStyle = "old4/4"
-          \time 2/2; a2^"old4/4" a2 
-          \property Staff.timeSignatureStyle = "old6/4"
-          \time 2/2; a2^"old6/4" a2 
-          \property Staff.timeSignatureStyle = "old9/4"
-          \time 2/2; a2^"old9/4" a2 
-          \property Staff.timeSignatureStyle = "old4/8"
-          \time 2/2; a2^"old4/8" a2 
-          \property Staff.timeSignatureStyle = "old6/8"
-          \time 2/2; a2^"old6/8" a2 
-          \property Staff.timeSignatureStyle = "old6/8alt"
-          \time 2/2; a2^"old6/8alt" a2 
-          \property Staff.timeSignatureStyle = "old9/8"
-          \time 2/2; a2^"old9/8" a2 
-        }
-        \paper {
-          linewidth = 4.5 \in;
-        }
-      }
-    
-@end mudela
-
-  @item @code{voltaSpannerDuration}@indexcode{voltaSpannerDuration} @* 
-    Set to an integer to control the size of the brackets printed by
-    @code{\alternative}.  The integer specifies the number of whole
-    notes duration to use for the brackets.  It is rounded to the
-    nearest measure.  This can be used to shrink the length of
-    brackets in the situation where one alternative is very large. 
-    It may have odd effects if the specified duration is longer than
-    the music given in an @code{\alternative}.
-@end table
-   
-
-@cindex properties!GrandStaff
-
-@table @samp 
-  @item @code{alignmentReference}@indexcode{alignmentReference} @* 
-    Set to @code{\center} for vertical alignment reference point to be
-    in the center of the vertical group.  Set to @code{\up} to put the
-    reference point at the top of the group.
-
-  @item @code{maxVerticalAlign}@indexcode{maxVerticalAlign} @* 
-    Set the maximum vertical distance between staffs.
-
-  @item @code{minVerticalAlign}@indexcode{minVerticalAlign} @* 
-    Set the minimum vertical distance between staffs.  
-@end table
-
-
-@cindex properties!Score
-
-@table @samp
-  @item @code{skipBars}@indexcode{skipBars} @* 
-    Set to 1 to skip the empty bars that are produced by
-    multimeasure notes and rests.  These bars will not appear on the
-    printed output.  Set to zero (the default) to expand multimeasure
-    notes and rests into their full length, printing the appropriate
-    number of empty bars so that synchronization with other voices is
-    preserved.
-
-    @quotation
-
-@mudela[fragment,verbatim,center]
-r1 r1*3 R1*3\property Score.skipBars=1 r1*3 R1*3
-
-@end mudela
-    @end quotation
-
-@end table
-
-
-@cindex properties!ChordNamesVoice
-
-@table @samp
-  @item @code{chordInversion}@indexcode{chordInversion} @* 
-    Determines whether LilyPond should look for chord inversions when
-    translating from notes to chord names.  Set to 1 to find
-    inversions.  The default is 0 which does not look for
-    inversions.
-@end table
-
-
-
-@node Notation output definitions, output, contextselection, LilyPond 1-2-0 Reference Manual
-@section Notation output definitions
-
-@cindex output
-
-@cindex notation output
-
-@cindex output definition
-
-@node output, paper, Notation output definitions, LilyPond 1-2-0 Reference Manual
-
-@node paper, papervars, output, LilyPond 1-2-0 Reference Manual
-
-The most important output definition is the @code{\paper} block, for
-music notation.  The syntax is
-
-@quotation
-
-  @code{\paper @{} [@var{paperidentifier}] @var{items} @code{@}}
-@end quotation
-
-where each of the items is one of
-
-@itemize @bullet
-  @item  An assignment.  The assignment must be terminated by a
-       semicolon.  See section @xref{papervars} for information on
-       paper variables.
-
-  @item  A context definition.  See section @xref{contextdefs} for
-       more information on context definitions.
-
-  @item  A margin shape declaration.  The syntax is
-
-       @quotation
-
-         @code{\shape} @var{indent1}@code{,} @var{width1}@code{,}
-                      @var{indent2}@code{,} @var{width2} ... @code{;}
-       @end quotation
-
-       @keyindex{shape}
-
-       Each pair of @var{indent} and @var{width} values is a dimension
-       specifying how far to indent and how wide to make the line. 
-       The indentation and width of successive lines are specified by
-       the successive pairs of dimensions.  The last pair of
-       dimensions will define the characeristics of all lines beyond
-       those explicitly specified.
-
-  @item  A font declaration.  Its syntax is
-
-       @quotation
-
-         @var{fontsize} @code{=} @code{\font}@keyindex{font} @var{fontname}
-       @end quotation
-
-       @var{fontsize} is an integer describing the font to be used. 
-       0 is the default font.  @var{fontname} is the basename of
-       a font (usually a member of the Feta family).
-@end itemize
-
-
-
-@cindex changing font size and paper size
-
-The Feta font provides musical symbols at six different sizes.  These
-fonts are 11 point, 13 point, 16 point, 20 point,
-23 point, and 26 point.  The point size of a font is the
-height of the five lines in a staff when displayed in the font.
-
-Definitions for these sizes are the files @file{paperSZ.ly}, where
-@code{SZ} is one of 11, 13, 16, 20, 23 and 26.  If you include
-any of these files, the identifiers @code{paper_eleven},
-@code{paper_thirteen}, @code{paper_sixteen}, @code{paper_twenty},
-@code{paper_twentythree}, and @code{paper_twentysix} are defined
-respectively.  The default @code{\paper} block is also set.
-
-To change the paper size, you must first set the
-@code{papersize}@indexcode{papersize} variable at top level.  Set it to the strings
-@code{a4}, @code{letter}, or @code{legal}.  After this specification,
-you must set the font as described above.  If you want the default
-font, then use the 20 point font.  The new paper size will not
-take effect if the font is not loaded and selected afterwards.  Paper
-size selection works by loading a file named after the paper size you
-select.
-
-
-
-@cindex paper variables
-
-@node papervars, contextdefs, paper, LilyPond 1-2-0 Reference Manual
-
-There is a large number of paper variables that are used to control
-details of the layout.  These variables control the defaults for the
-entire score.  Usually, they do not have to be changed; they are by
-default set to values that depend on the font size in use.  The
-values are used by the graphic objects while formatting the score;
-they are therefore implementation dependent.  Most variables are
-accompanied by documentation in the initalization file
-@file{params.ly} or @file{paperSZ.ly}, where @code{SZ} is the staff
-height in points.
-
-Nevertheless, here are some variables you may want to use or change:
-
-@table @samp
-  @item @code{indent}@indexcode{indent} @* 
-    The indentation of the first line of music.
-
-  @item @code{interline}@indexcode{interline} @* 
-    The distance between two staff lines, calculated from the center
-    of the lines.  You should use either this or @code{rulethickness}
-    as a unit for distances you modify.
-  
-  @item @code{linewidth}@indexcode{linewidth} @* 
-    Sets the width of the lines.  If set to -1.0, a single
-    unjustified line is produced.
-
-  @item @code{output}@indexcode{output} @* 
-    Specifies an alternate name for the the output @file{s}.
-    A @file{.tex}, @file{.midi} or @file{.ps} extension will be 
-    added to the string you specify.
-
-  @item @code{rulethickness}@indexcode{rulethickness} @* 
-    Determines the thickness of staff and bar lines. 
-
-  @item @code{castingalgorithm}@indexcode{castingalgorithm} @* 
-    The algorithm to use for breaking lines.  Choices are
-    @code{\Gourlay}@keyindex{Gourlay} for a TeX-like dynamic
-    programming algorithm, and @code{\Wordwrap}@keyindex{Wordwrap} for
-    a simple algorithm.  Gourlay breaking looks much better, but
-    takes a lot more resources.  Wordwrap leaves loosely spaced lines
-    at the end.
-@end table
-
-
-@node contextdefs, engravers, papervars, LilyPond 1-2-0 Reference Manual
-
-@cindex context definition
-
-A notation contexts is defined by the following information
-
-@enumerate i
-  @item  A name.
-
-  @item  The LilyPond modules that do the actual conversion of music to
-       notation.  Each module is a so-called
-       @emph{engraver}
-@cindex engraver
-.
-
-  @item  How these modules should cooperate, i.e. which ``cooperation
-       module'' should be used.  This cooperation module is a special
-       type of engraver.
-
-  @item  What other contexts the context can contain,
-
-  @item  What properties are defined.
-@end enumerate
-
-A context definition has this syntax:
-
-@quotation
-
-  @code{\translator} @code{@{}
-                      @var{translatorinit} @var{translatormodifierlist}
-                    @code{@}}
-@end quotation
-
-@var{translatorinit} can be an identifier or of the form
-
-@quotation
-
-  @code{\type} @var{typename} @code{;}
-@end quotation
-
-@var{typename} is one of
-
-@table @samp
-  @item @code{Engraver_group_engraver}@indexcode{Engraver_group_engraver} @* 
-    The standard cooperation engraver.
-
-  @item @code{Score_engraver}@indexcode{Score_engraver} @* 
-    This is cooperation module that should be in the top level context.
-
-  @item @code{Grace_engraver_group}@indexcode{Grace_engraver_group} @* 
-    This is a special cooperation module (resembling
-    @code{Score_engraver}) that is used to created an embedded
-    `miniscore'.
-@end table 
-
-@var{translatormodifierlist} is a list of items where each item is
-one of
-
-@itemize @bullet
-  @item  @code{\consists} @var{engravername} @code{;} @* 
-    Add @var{engravername} to the list of modules in this context. 
-    Section @xref{engravers} contains an overview of the engravers
-    available.  The order of engravers added with @code{\consists} is
-    significant.
-  
-  @item  @code{\consistsend} @var{engravername} @code{;} @* 
-    Analogous to @code{\consists}, but makes sure that
-    @var{engravername} is always added to the end of the list of
-    engravers.
-
-    Some engraver types need to be at the end of the list; this
-    insures they are put there, and stay there, if a user adds or
-    removes engravers.  This command is usually not needed for
-    end-users.
-    
-  @item  @code{\accepts} @var{contextname} @code{;} @* 
-    Add @var{contextname} to the list of  context this context can
-    contain.  The first listed context the context to create by
-    default.
-  
-  @item  @code{\remove} @var{engravername} @code{;} @* 
-    Remove a previously added (with @code{\consists}) engraver.
-  
-  @item  @code{\name} @var{contextname} @code{;} @* 
-    This sets name of the context, e.g. @code{Staff}, @code{Voice}.  If
-    the name is not specified, the translator won't do anything.
-
-  @item  @var{propname} @code{=} @var{value} @code{;} @* 
-    A property assignment.  It is allowed to use reals for
-    @var{value}.
-@end itemize
-
-In the @code{\paper} block, it is also possible to define translator
-identifiers.  Like other block identifiers, the identifier can only
-be used as the very first item of a translator.  In order to define
-such an identifier outside of @code{\score}, you must do
-
-@quotation
-
-@example 
-\paper @{
-  foo = \translator @{ ... @}
-@}
-\score @{
-  \notes @{
-    ...
-  @}
-  \paper @{
-    \translator @{ \foo ... @}
-  @}
-@} 
-@end example 
-
-@end quotation
-
-
-@cindex paper types, engravers, and pre-defined translators
-
-Some pre-defined identifiers can simplify modification of
-translators.  The pre-defined identifiers are:
-
-@table @samp
-  @item @code{StaffContext}@indexcode{StaffContext} @* 
-    Default Staff context. 
-
-  @item @code{RhythmicStaffContext}@indexcode{RhythmicStaffContext} @* 
-    Default RhythmicStaff context. 
-
-  @item @code{VoiceContext}@indexcode{VoiceContext} @* 
-    Default Voice context.  
-
-  @item @code{ScoreContext}@indexcode{ScoreContext} @* 
-    Default Score context. 
-
-  @item @code{ScoreWithNumbers}@indexcode{ScoreWithNumbers} @* 
-    Score context with numbering at the Score level.
-
-  @item @code{BarNumberingStaffContext}@indexcode{BarNumberingStaffContext} @* 
-    Staff context with numbering at the Staff level.
-
-  @item @code{HaraKiriStaffContext}@indexcode{HaraKiriStaffContext} @* 
-    Staff context that does not print if it only contains rests. 
-    Useful for orchestral scores.@footnote{Harakiri, also called
-    Seppuku, is the ritual suicide of the Samourai.}
-
-  @item @code{OrchestralPartStaffContext}@indexcode{OrchestralPartStaffContext}
-
-  @item @code{OrchestralScoreContext}@indexcode{OrchestralScoreContext}
-@end table
-
-Using these pre-defined values, you can remove or add items to the
-translator:
-
-@quotation
-
-@example 
-\paper @{
-  \translator @{
-    \StaffContext
-    \remove Some_engraver;
-    \consists Different_engraver;
-  @}
-@} 
-@end example 
-
-@end quotation
-
-      
-
-@node engravers, Sound output, contextdefs, LilyPond 1-2-0 Reference Manual
-
-The engravers for paper output are:
-
-[incomplete, FIXME]
-
-@table @samp
-  @item @code{Bar_engraver}@indexcode{Bar_engraver} @* 
-    Engraves bar lines.  Normally in @code{Staff} and
-    @code{RhythmicStaff}.
-
-  @item @code{Bar_number_engraver}@indexcode{Bar_number_engraver} @* 
-    Engrave bar numbers.  These numbers appear at the start of each
-    line.  Not normally in any translator.  Can be added to
-    @code{Score} for score-wide numbering or to @code{Staff} for
-    numbering on each staff.
-
-  @item @code{Beam_engraver}@indexcode{Beam_engraver} @* 
-    Handles beam requests by engraving beams.  Normally appears in
-    the @code{Voice} translator.  If omitted, then notes will be
-    printed with flags instead of beams.
-
-  @item @code{Beam_req_swallow_translator}
-    @indexcode{Beam_req_swallow_translator} @* 
-    Swallows beam requests.  In @code{LyricVoice}.  
-
-  @item @code{Chord_name_engraver}@indexcode{Chord_name_engraver} @* 
-    Engraves chord names.  Normally in @code{ChordNameVoice} .
-
-  @item @code{Chord_tremolo_engraver}@indexcode{Chord_tremolo_engraver}
-
-  @item @code{Clef_engraver}@indexcode{Clef_engraver} @* 
-    Engraves the clef symbol.  Normally in @code{Staff}.
-
-  @item @code{Collision_engraver}@indexcode{Collision_engraver}
-
-  @item @code{Dot_column_engraver}@indexcode{Dot_column_engraver} @* 
-    Engraves dots on dotted notes shifted to the right of the note. 
-    Normally in @code{Voice}.  If omitted, then dots appear on top of
-    the notes.
-
-  @item @code{Dynamic_engraver}@indexcode{Dynamic_engraver} @* 
-    Engraves dynamics symbols.  Normally in @code{Voice}.
-
-  @item @code{Font_size_engraver}@indexcode{Font_size_engraver}
-
-  @item @code{Key_engraver}@indexcode{Key_engraver} @* 
-    Engraves the key signature.  Normally in @code{Staff}.
-
-  @item @code{Local_key_engraver}@indexcode{Local_key_engraver}
-
-  @item @code{Lyric_engraver}@indexcode{Lyric_engraver} @* 
-    Engraves lyrics.  Normally in @code{LyricVoice}.
-
-  @item @code{Multi_measure_rest_engraver}
-    @indexcode{Multi_measure_rest_engraver} @* 
-    Engraves multi-measure rests that are produced with @code{R}. 
-    Normally in @code{Voice}.
-
-  @item @code{Piano_bar_engraver}@indexcode{Piano_bar_engraver}
-
-  @item @code{Pitch_squash_engraver}@indexcode{Pitch_squash_engraver} @* 
-    Treat all pitches as middle C.  Used in @code{RhythmicStaff}. 
-    Note that the notes move, but the locations of accidentals stay
-    the same.
-
-  @item @code{Priority_horizontal_align_engraver}
-    @indexcode{Priority_horizontal_align_engraver}
-
-  @item @code{Repeat_engraver}@indexcode{Repeat_engraver} @* 
-    Handles repeats?  In @code{Staff} and @code{RhythmicStaff}.
-
-  @item @code{Rest_collision_engraver}@indexcode{Rest_collision_engraver} @* 
-    Handles collisions of rests.  In @code{Staff}.
-
-  @item @code{Rest_engraver}@indexcode{Rest_engraver} @* 
-    Engraves rests.  Normally in @code{Voice}.
-
-  @item @code{Rhythmic_column_engraver}@indexcode{Rhythmic_column_engraver}
-
-  @item @code{Score_priority_engraver}@indexcode{Score_priority_engraver}
-
-  @item @code{Script_engraver}@indexcode{Script_engraver} @* 
-    Handles note ornaments generated by @code{\script}.  Normally in
-    @code{Voice}.
-
-  @item @code{Separating_line_group_engraver}
-    @indexcode{Separating_line_group_engraver}
-
-  @item @code{Skip_req_swallow_translator}
-    @indexcode{Skip_req_swallow_translator}
-
-  @item @code{Slur_engraver}@indexcode{Slur_engraver} @* 
-    Engraves slurs.  Normally in @code{Voice}.
-
-  @item @code{Span_bar_engraver}@indexcode{Span_bar_engraver} @* 
-    Engraves lines across multiple staffs.  Normally in
-    @code{Staffgroup} and @code{GrandStaff}.  Removing this from
-    @code{StaffGroup} gives the definition of @code{ChoirStaff}.
-
-  @item @code{Span_score_bar_engraver}@indexcode{Span_score_bar_engraver}
-
-  @item @code{Staff_group_bar_engraver}@indexcode{Staff_group_bar_engraver}
-
-  @item @code{Staff_margin_engraver}@indexcode{Staff_margin_engraver} @* 
-    Prints the name of the instrument (specified by
-    @code{Staff.instrument} and @code{Staff.instr}) at the left of the
-    staff.
-
-  @item @code{Staff_sym_engraver}@indexcode{Staff_sym_engraver}
-
-  @item @code{Stem_engraver}@indexcode{Stem_engraver} @* 
-    Engraves stems.  Normally in @code{Voice}.
-
-  @item @code{Ties_engraver}@indexcode{Ties_engraver} @* 
-    Engraves ties.  Normally in @code{Voice}.
-
-  @item @code{Time_signature_engraver}@indexcode{Time_signature_engraver} @* 
-    Engraves the time signature.  Normally in @code{Staff} and
-    @code{RhythmicStaff}.
-
-  @item @code{Timing_engraver}@indexcode{Timing_engraver} @* 
-    Responsible for synchronizing timing information from staffs. 
-    Normally in @code{Score}.  In order to create polyrhythmic music,
-    this engraver should be removed from @code{Score} and placed in
-    @code{Staff}.
-
-  @item @code{Tuplet_engraver}@indexcode{Tuplet_engraver} @* 
-    Engraves tuplet brackets?  In @code{Staff}.
-
-  @item @code{Vertical_align_engraver}@indexcode{Vertical_align_engraver} 
-@end table
-
-
-
-@node Sound output, midilist, engravers, LilyPond 1-2-0 Reference Manual
-@section Sound output
-
-
-
-The MIDI block is analogous to the paper block, but it is simpler.
-The @code{\midi} block can contain:
-@cindex MIDI block
-
-@itemize @bullet
-  @item  a @code{\tempo} definition
-  @item  context definitions
-@end itemize
-
-Assignments in the @code{\midi} block are not allowed.
-
-
-
-@cindex context definition
-
-Context definitions follow precisely the same syntax as within the
-\paper block.  Translation modules for sound are called performers.
-The contexts for MIDI output are defined in @file{ly/performer.ly}.
-
-
-
-@cindex MIDI instrument names
-
-@node midilist, Pre-defined Identifiers, Sound output, LilyPond 1-2-0 Reference Manual
-
-The MIDI instrument name is set by the
-@code{Staff.midiInstrument}@indexcode{Staff.midiInstrument} property or, if that property is
-not set, the @code{Staff.instrument}@indexcode{Staff.instrument} property.  The instrument
-name should be chosen from the following list.  If the selected
-string does not exactly match, then LilyPond uses the default piano.
-
-
-@quotation
-
-@example 
-"acoustic grand"            "contrabass"           "lead 7 (fifths)"
-"bright acoustic"           "tremolo strings"      "lead 8 (bass+lead)"
-"electric grand"            "pizzicato strings"    "pad 1 (new age)"
-"honky-tonk"                "orchestral strings"   "pad 2 (warm)"
-"electric piano 1"          "timpani"              "pad 3 (polysynth)"
-"electric piano 2"          "string ensemble 1"    "pad 4 (choir)"
-"harpsichord"               "string ensemble 2"    "pad 5 (bowed)"
-"clav"                      "synthstrings 1"       "pad 6 (metallic)"
-"celesta"                   "synthstrings 2"       "pad 7 (halo)"
-"glockenspiel"              "choir aahs"           "pad 8 (sweep)"
-"music box"                 "voice oohs"           "fx 1 (rain)"
-"vibraphone"                "synth voice"          "fx 2 (soundtrack)"
-"marimba"                   "orchestra hit"        "fx 3 (crystal)"
-"xylophone"                 "trumpet"              "fx 4 (atmosphere)"
-"tubular bells"             "trombone"             "fx 5 (brightness)"
-"dulcimer"                  "tuba"                 "fx 6 (goblins)"
-"drawbar organ"             "muted trumpet"        "fx 7 (echoes)"
-"percussive organ"          "french horn"          "fx 8 (sci-fi)"
-"rock organ"                "brass section"        "sitar"
-"church organ"              "synthbrass 1"         "banjo"
-"reed organ"                "synthbrass 2"         "shamisen"
-"accordion"                 "soprano sax"          "koto"
-"harmonica"                 "alto sax"             "kalimba"
-"concertina"                "tenor sax"            "bagpipe"
-"acoustic guitar (nylon)"   "baritone sax"         "fiddle"
-"acoustic guitar (steel)"   "oboe"                 "shanai"
-"electric guitar (jazz)"    "english horn"         "tinkle bell"
-"electric guitar (clean)"   "bassoon"              "agogo"
-"electric guitar (muted)"   "clarinet"             "steel drums"
-"overdriven guitar"         "piccolo"              "woodblock"
-"distorted guitar"          "flute"                "taiko drum"
-"guitar harmonics"          "recorder"             "melodic tom"
-"acoustic bass"             "pan flute"            "synth drum"
-"electric bass (finger)"    "blown bottle"         "reverse cymbal"
-"electric bass (pick)"      "skakuhachi"           "guitar fret noise"
-"fretless bass"             "whistle"              "breath noise"
-"slap bass 1"               "ocarina"              "seashore"
-"slap bass 2"               "lead 1 (square)"      "bird tweet"
-"synth bass 1"              "lead 2 (sawtooth)"    "telephone ring"
-"synth bass 2"              "lead 3 (calliope)"    "helicopter"
-"violin"                    "lead 4 (chiff)"       "applause"
-"viola"                     "lead 5 (charang)"     "gunshot"
-"cello"                     "lead 6 (voice)" 
-@end example 
-
-@end quotation
-
-
-@cindex MIDI types and performers
-
-The types available for  MIDI translators are:
-
-@table @samp
-  @item @code{Performer_group_performer}@indexcode{Performer_group_performer}
-  @item @code{Score_performer}@indexcode{Score_performer}
-  @item @code{Staff_performer}@indexcode{Staff_performer}
-@end table
-
-The performers for MIDI translators are:
-
-@table @samp
-  @item @code{Key_performer}@indexcode{Key_performer}
-  @item @code{Time_signature_performer}@indexcode{Time_signature_performer}
-  @item @code{Note_performer}@indexcode{Note_performer}
-  @item @code{Lyric_performer}@indexcode{Lyric_performer}
-  @item @code{Swallow_performer}@indexcode{Swallow_performer}
-@end table
-
-
-
-@node Pre-defined Identifiers, ident, midilist, LilyPond 1-2-0 Reference Manual
-@section Pre-defined Identifiers
-
-@cindex pre-defined identifiers
-
-@node ident, Running LilyPond, Pre-defined Identifiers, LilyPond 1-2-0 Reference Manual
-
-Various identifiers are defined in the initialization files to
-provide shorthands for some settings.  Most of them are in
-@file{ly/declarations.ly}.
-
-@table @samp
-  @item @code{\break}@keyindex{break} @* 
-    Force a line break in music by using a large argument for the
-    keyword @code{\penalty}.
-
-  @item @code{\center}@keyindex{center} @* 
-    Used for setting direction  properties.  Equals 0.
-
-  @item @code{\down}@keyindex{down} @* 
-    Used for setting direction setting properties.  Is equal
-    to -1.
-
-  @item @code{\free}@keyindex{free} @* 
-    Used for setting direction setting properties.  Is equal
-    to 0.
-
-  @item @code{\left}@keyindex{left} @* 
-    Used for setting text alignment property.  Is equal to -1.
-
-  @item @code{\nobreak}@keyindex{nobreak} @* 
-    Prevent a line break in music by using a large negative argument
-    for the keyword @code{\penalty}.
-
-  @item @code{\none}@keyindex{none} @* 
-    Used for setting @code{Score.beamslopedamping} and
-    @code{Score.beamquantisation} properties.  Is equal to 0.
-
-  @item @code{\normal}@keyindex{normal} @* 
-    Used for setting @code{Score.beamslopedamping} and
-    @code{Score.beamquantisation} properties.  Is equal to 1.
-
-  @item @code{\normalkey}@keyindex{normalkey} @* 
-    Select normal key signatures where each octave has the same key
-    signature.  This sets the @code{Staff.keyoctaviation} property.
-
-  @item @code{\right}@keyindex{right} @* 
-    Used for setting text alignment property.  Is set to 1.
-
-  @item @code{\shiftoff}@keyindex{shiftoff} @* 
-    Disable horizontal shifting of note heads that collide.  Sets the
-    @code{Voice.horizontalNoteShift} property.
-
-  @item @code{\shifton}@keyindex{shifton} @* 
-    Enable note heads that collide with other note heads to be
-    shifted horiztonally.  Sets the @code{Voice.horizontalNoteShift}
-    property.
-
-  @item @code{\slurboth}@keyindex{slurboth} @* 
-    Allow slurs to be above or below notes.  This sets the
-    @code{Voice.slurVerticalDirection} property.
-
-  @item @code{\slurdown}@keyindex{slurdown} @* 
-    Force slurs to be below notes.  This sets the
-    @code{Voice.slurVerticalDirection} property.
-
-  @item @code{\slurup}@keyindex{slurup} @* 
-    Force slurs to be above notes.  This sets the
-    @code{Voice.slurVerticalDirection} property.
-
-  @item @code{\specialkey}@keyindex{specialkey} @* 
-    Allow key signatures do differ in different octaves.  This sets
-    the @code{Staff.keyoctaviation} property.
-
-  @item @code{\stemboth}@keyindex{stemboth} @* 
-    Allow stems, beams, and slurs to point either upwards or
-    downwards, decided automatically by LilyPond.  This sets the
-    @code{Voice.verticalDirection} property.
-
-  @item @code{\stemdown}@keyindex{stemdown} @* 
-    Force stems, beams, and slurs to point down.  This sets the
-    @code{Voice.verticalDirection} property.
-
-  @item @code{\stemup}@keyindex{stemup} @* 
-    Force stems, beams and slurs to point up.  This sets the
-    @code{Voice.verticalDirection} property.
-
-  @item @code{\traditional}@keyindex{traditional} @* 
-    Used for setting the @code{Score.beamquantisation} property.  Is
-    equal to 2.
-
-  @item @code{\up}@keyindex{up} @* 
-    Used for setting various direction properties.  Is equal
-    to 1.
-@end table
-
-
-
-@node Running LilyPond, Top, ident, LilyPond 1-2-0 Reference Manual
-@section Running LilyPond
-
-@cindex running LilyPond
-
-
-When invoked with a filename that has no extension, LilyPond will try
-adding `@file{.ly}' as an extension first, then `@file{.fly}' and
-finally `@file{.sly}' extension.  If the filename ends with
-`@file{.fly}', LilyPond processes the file as music using
-`@file{init.fly}'.  In this case, LilyPond does something like:
-
-@quotation
-
-@example 
-\score @{
-  \notes\relative c @{
-    \input "yourfile.fly"
-  @}
-  \paper@{@}
-  \midi@{@}
-@} 
-@end example 
-
-@end quotation
-
-The result of `@file{.sly}' is similar except that a single unjustified
-line is produced.
-
-If you invoke LilyPond with a file `@file{foo.}@var{ext}' that doesn't
-have the `@file{.ly}' extension, then LilyPond will look for a file
-called `@file{init.}@var{ext}' and process this file.  The file
-`@file{init.}@var{ext}' must contain the @code{\maininput} keyword or
-LilyPond will not read the user specified file.
-
-When LilyPond processes @file{filename.ly} it will produce
-@file{filename.tex} as output.  If @file{filename.ly} contains a second
-@code{\paper} keyword, then LilyPond will produce @file{filename-1.tex}
-as well.  Subsequent @code{\paper} keywords will produce sequentially
-numbered file names.  Several files can be specified; they will each
-be processed independently.@footnote{Not entirely true: The status of
-GUILE is kept.}
-
-
-
-@bye
diff --git a/Documentation/tex/regression-test.tely b/Documentation/tex/regression-test.tely
deleted file mode 100644 (file)
index 6a0443e..0000000
+++ /dev/null
@@ -1,302 +0,0 @@
-\input texinfo @c -*-texinfo-*-   vim:tw=72
-@setfilename regression-test.info
-@settitle LilyPond Regression test
-
-@c fool ls-latex
-@ignore
-@author Han-Wen Nienhuys and Jan Nieuwenhuizen
-@title LilyPond Regression test
-@end ignore
-
-@node Top, , ,
-
-@section Introduction
-
-This document tries give an brief overview of LilyPond features.  When
-the text correspond with the shown notation, we consider LilyPond
-Officially BugFree (tm).  This document is intended for finding bugs,
-and documenting bugfixes.
-
-@section Notes and rests
-
-Rests.  Note that the dot of 8th, 16th and 32nd rests rest should be
-next to the top of the rest.  All rests except the whole rest are
-centered on the middle staff line.  
-
-@mudelafile{rest.fly}
-
-Note head shapes are settable.  The stem endings should be adjusted
-per note head.  If you want different note head styles on one stem,
-you must create a special context called Thread.
-
-@mudelafile{noteheadstyle.ly}
-
-Noteheads can have dots, and ---although this is bad style in duple
-meters--- rests can too.  Augmentation dots should never be printed on
-a staff line, but rather be shifted vertically. They should go up, but
-in case of multiple parts, the down stems have down shifted dots.
-(Wanske p. 186) In case of chords, all dots should be in a column.
-The dots go along as rests are shifted to avoid collisions.
-
-@mudelafile{dots.fly}
-
-Multiple measure rests do not collide with barlines and clefs.  They
-are not expanded when you set \verb+Score.SkipBars+.  Although the
-multi-measure-rest is a Spanner, minimum distances are set to keep it
-colliding from barlines. 
-
-@mudelafile{multi-measure-rest.ly}
-
-@section Stems
-
-Stem tremolos (official naming?) or rolls are tremolo signs that look
-like beam segments crossing stems.  If the stem is in a beam, the
-tremolo must be parallel to the beam.  If the stem is invisible
-(eg. on a whole note), the tremolo must be centered on the note.
-
-@mudelafile{stem-tremolo.ly}
-
-Chord tremolos look like beams, but are a kind of repeat symbol.
-To avoid confusion, chord tremolo beams do not reach the stems, but 
-leave a gap.  Chord tremolo beams on half notes are not ambiguous,
-as half notes cannot appear in a regular beam, and should reach the 
-stems.
-  
-@mudelafile{chord-tremolo.sly}
-
-Beams, stems and noteheads often have communication troubles, since
-the two systems for y dimensions (1 unit = staffspace, 1 unit = 1
-point) are mixed.
-
-Stems, beams, ties and slurs should behave similarly, when placed
-on the middle staff line. Of course stem-direction is down for high
-notes, and up for low notes.
-
-@mudelafile{stem-direction.sly}
-
-Similarly, if \verb+stem_default_neutral_direction+ is set to \verb+-1+.
-
-@mudelafile{stem-direction-down.ly}
-
-@section Scripts
-
-The staccato dot (and all scripts with follow-into-staff set), must
-not be on staff lines.
-
-@mudelafile{staccato-pos.sly}
-
-@section Grace notes
-
-Grace notes are typeset as an encapsulated piece of music. You can
-have beams, notes, chords, stems etc. within a \verb|\grace| section.
-Slurs that start within a grace section, but aren't ended are attached
-to the next normal note.  Grace notes have zero duration.  If there
-are tuplets, the grace notes won't be under the brace.  Grace notes
-can have accidentals, but they are (currently) spaced at a fixed
-distance.  Grace notes (of course) come before the accidentals of the
-main note.  Grace notes can also be positioned after the main note.
-
-@mudelafile{grace.ly}
-
-
-@section Beams, slurs and other spanners
-
-Beaming is generated automatically. Beams may cross bar lines. In that
-case, line breaks are forbidden.  Yet clef and key signatures are
-hidden just as with breakable bar lines.
-
-@mudelafile{beaming.ly}
-
-Beams should behave reasonably well, even under extreme circumstances.
-Stems may be short, but noteheads should never touch the beam.
-
-@mudelafile{beam-extreme.ly}
-
-Beams should always reach the middle staff line, the second beam
-counting from the note head side, should never be lower than the
-second staff line.  This does not hold for grace note beams.
-
-@mudelafile{beam-position.sly}
-
-Slurs should look nice and symmetric.  The curvature may increase
-only to avoid noteheads, and as little as possible.
-
-@mudelafile{slur-symmetry.ly}
-@mudelafile{slur-symmetry-1.ly}
-
-Ties are strictly horizontal.  They are placed in between note heads.
-The horizontal middle should not overlap with a staffline.
-
-@mudelafile{tie.ly}
-
-Beams can be typeset over fixed distance aligned staffs, beam
-beautification doesn't really work, but knees do. Beams should be
-behave well, wherever the switching point is.
-
-@mudelafile{beam-interstaff.ly}
-
-The same goes for slurs. They behave decently when broken across
-linebreak.
-
-@mudelafile{slur-interstaff.ly}
-
-Tuplets are indicated by a bracket with a number.  There should be no
-bracket if there is one beam that matches  the length of the tuplet.
-The bracket does not interfere with the stafflines, and the number is
-centered in the gap in the bracket.
-
-@mudelafile{tup.ly}
-
-@section Repeats
-
-LilyPond has three modes for repeats: folded, unfolded and
-semi-unfolded.  Unfolded repeats are fully written out. Semi unfolded
-repeats have the body written and all alternatives sequentially.
-Folded repeats have the body written and all alternatives
-simultaneously.  If the number of alternatives is larger than the
-repeat count, the excess alternatives are ignored.  If the number of
-alternatives is smaller, the first alternative is multiplied to get to
-the number of repeats.
-
-Unfolded behavior:
-
-@mudelafile{repeat-unfold.ly}
-
-Semi (un)folded behavior.  Voltas can start on non-barline moments.
-If they don't barlines should still be shown.
-
-@mudelafile{repeat-semifold.ly}
-
-Folded.  This doesn't make sense without alternatives, but it works.
-
-@mudelafile{repeat-fold.ly}
-
-@section Lyrics
-
-Lyrics can be set to a melody automatically.  Excess lyrics will be
-dumped.  Lyrics will not be set over rests.  You can have melismata
-either by setting a property melismaBusy, or by setting
-automaticMelismas (which will set melismas during slurs and ties).  If
-you want a different order than first Music, then Lyrics, you must
-precook a chord of staffs/lyrics and label those.  Of course
-@code{\rhythm} ignores any other rhythms in the piece.  Hyphens and
-extenders do not assume anything about lyric lengths, so they continue
-to work.
-
-@mudelafile{lyric-combine.ly}
-
-@section Multiple notes
-
-Rests should not collide with beams, stems and noteheads.  Rests may
-be under beams.  Rests should be move by integral number of spaces
-inside the staff, and by half spaces outside.  Notice that the half
-and whole rests just outside the staff get ledger lines in different
-cases.
-
-@mudelafile{rest-collision.ly}
-
-Normal collisions. We have support for polyphony, where the
-middle voices are horizontally shifted.
-
-@mudelafile{collisions.ly}
-
-The number of stafflines of a staff can be set with the property
-numberOfStaffLines.  Ledger lines both on note heads and rests are
-adjusted.  Barlines also are adjusted.
-
-
-@mudelafile{number-staff-lines.fly}
-
-@section Spacing
-
-In a limited number of cases, LilyPond corrects for optical spacing
-effects.  In this example, space for opposite pointed stems is adjusted
-
-@mudelafile{stem-spacing.sly}
-
-If there are accidentals in the music, we add space, but the space
-between note and accidentals is less than between the notes with the
-same value.  Clef changes also get extra space, but not as much as
-barlines.
-
-
-Even if a line is very tightly spaced, there will still be room
-between prefatory matter and the following notes.  The space after the
-prefatory is very rigid.  In contrast, the space before the barline
-must stretch like the space within the measure.
-
-Tight:
-
-@mudelafile{spacing-tight.ly}
-
-Natural:
-
-@mudelafile{spacing-natural.ly}
-
-Loose:
-
-@mudelafile{spacing-loose.ly}
-
-
-@section Global stuff
-
-Markings that are attached to (invisible) barlines are 
-delicate: the are attached to the rest of the score without the score
-knowing it.  Consequently, they fall over  often.
-
-@mudelafile{bar-scripts.ly}
-
-Staff margins are also markings attached to barlines.  They should be
-left of the staff, and be centered vertically wrt the staff.  They may
-be on normal staffs, but also on compound staffs, like the PianoStaff
-
-@mudelafile{staff-margin.ly}
-
-Breathing signs, also used for phrasing, do normally not influence
-global spacing -- only if space gets tight, notes are shifted to make
-room for the breathing sign. Breathing signs break beams running
-through their voice. In the following example, the notes in the first
-two measures all have the same distance from each other:
-
-@mudelafile{breathing-sign.ly}
-
-Fonts are  available in a default set of sizes: 11, 13, 16, 20, 23 and
-26pt staffheight.  Sizes of the text fonts and symbol fonts are made
-to match the staff dimensions.    
-
-@mudelafile[nofly]{size11.ly}
-
-@mudelafile[nofly]{size13.ly}
-
-@mudelafile[nofly]{size16.ly}
-
-@mudelafile[nofly]{size20.ly}
-
-@mudelafile[nofly]{size23.ly}
-
-@mudelafile[nofly]{size26.ly}
-
-
-@section Clefs and Time Signatures
-
-The transparent clef should not occupy any space and with style
-@code{fullSizeChanges}, the changing clef should be typeset in full
-size. For octaviated clefs, the ``8'' should appear closely above or
-below the clef respectively.  The ``8'' is processed in a convoluted
-way, so this is fragile as well.
-
-@mudelafile{clefs.ly}
-
-@ignore
-@c the input file is too long and does not test for specific bugs
-By default, time signatures are written with two numbers. With style
-``C'', 4/4 and 2/2 are written with their corresponding symbols and
-with style ``old'', 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and
-9/8 are typeset with symbols, all other signatures retain the default
-layout. The style ``1'', gives single number signatures for all
-signatures. 
-%
-\mu delafile{time.fly}
-@end ignore
-
-@bye
diff --git a/Documentation/tex/testje.fly b/Documentation/tex/testje.fly
deleted file mode 100644 (file)
index 4c35440..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-% We're testing \mudelafile here.
-c''4^"This! Is! A! Test!" d e 
diff --git a/Documentation/tex/tutorial.tely b/Documentation/tex/tutorial.tely
deleted file mode 100644 (file)
index 208bed2..0000000
+++ /dev/null
@@ -1,945 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@setfilename tutorial.info
-@settitle Typesetting music with LilyPond
-
-@ifinfo
-
-This is a short tutorial to show you how  LilyPond works.  It is not a
-tutorial.  It was written by Han-Wen Nienhuys.
-
-Copyright 1999 by its authors.
-@end ifinfo
-
-
-@titlepage
-
-@c fool ls-latex: why not use these, for texinfo??
-@ignore
-@author Han-Wen Nienhuys
-@title Typesetting music with LilyPond
-@end ignore
-
-@sp 10
-@comment The title is printed in a large font.
-@center @titlefont{LilyPond tutorial}
-@vskip 20pt
-@center @titlefont{Han-Wen Nienhuys}
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1999 by its author(s)
-@end titlepage
-
-
-@node Top, , The end, (dir)
-@top
-@menu
-* Typesetting music with LilyPond::Typesetting music with LilyPond
-@end menu
-
-
-
-
-
-@node Typesetting music with LilyPond, Introduction, , Top
-@menu
-* Introduction::                  Introduction
-* tutorial-introduction::         tutorial-introduction
-* The first tune::                The first tune
-* sec-firsttune::                 sec-firsttune
-* Lyrics and chords::             Lyrics and chords
-* Piano music::                   Piano music
-* The end::                       The end
-@end menu
-@chapter Typesetting music with LilyPond
-
-@node Introduction, tutorial-introduction, Typesetting music with LilyPond, Typesetting music with LilyPond
-@section Introduction
-@node tutorial-introduction, The first tune, Introduction, Typesetting music with LilyPond
-
-  
-LilyPond prints music from a specification that you, the user, supply.
-You have to give that specification using a @emph{language}.  This
-document is a gentle introduction to that language, which is called
-Mudela, an acronym of Music Definition Language.
-
-This tutorial will demonstrate how to use Mudela by presenting
-examples of input along with resulting output.  We will use English
-terms for notation.  In case you are not familiar with those, you may
-consult the glossary that is distributed with LilyPond.
-
-The examples discussed are included in the distribution, in the
-subdirectory @file{input/tutorial/}.  It is recommended that you
-experiment with writing Mudela input yourself, to get a feel for
-how LilyPond behaves.
-
-@node The first tune, sec-firsttune, tutorial-introduction, Typesetting music with LilyPond
-@section The first tune
-@node sec-firsttune, Lyrics and chords, The first tune, Typesetting music with LilyPond
-
-To demonstrate what LilyPond input looks like, we start off with a
-full fledged, yet simple example. It is a convoluted version
-of the famous menuet in J. S. Bach's @emph{Klavierbuechlein}.
-
-@mudela[verbatim]
-% lines preceded by a percent are comments.
-\include "paper16.ly"
-\score {
-    \notes                        
-    \relative c'' \sequential{                
-            \time 3/4;                
-            \key g;
-
-        \repeat "volta" 2 {
-            d4 g,8 a b c d4 g, g |
-            e'4 c8 d e fis g4 g, g |
-            c4 d8()c b a( )b4 c8 b a g |
-            a4 [b8 a] [g fis] g2.  |
-        }
-
-        b'4 g8 a b g
-        a4 d,8 e fis d |
-        g4 e8 fis g d cis4 b8 cis a4 |
-        a8-. b-. cis-. d-. e-. fis-.
-        g4 fis e |
-        fis a,  r8 cis8
-        d2.-\fermata
-        \bar "|.";
-    }
-    \paper {
-       % standard settings are too wide for a book
-       linewidth = 14.0 \cm;
-   }
-}
-@end mudela
-
-Enter it (or copy it, the filename is @file{menuet.ly}), compile it
-with LilyPond and view the output.  Details of this procedure may vary
-from system to system.  To create the output, one would issue the
-command `@code{ly2dvi menuet}'.  @file{ly2dvi} is a program that does
-the job of running LilyPond and TeX, handling of titles and
-adjusting of page margins.
-
-If all goes well, the file @file{menuet.dvi} will be created.
-To view this output, issue the command `@code{xdvi menuet}'.
-
-Now that we are familiar with the procedure of producing output, we
-will analyse the input, line by line.
-@ignore
-Let's try to redo this
-@example
-
-        % lines preceded by a percent are comments.
-@end example 
-The percent sign, `@code{%}', introduces a line comment.  If you want to
-make larger comments, you can use block comments. These are delimited
-by `@code{%@{}' and `@code{%@}}'
-@end ignore
-@multitable @columnfractions .60 .39
-@item
-@noindent
-@c @example  urg: no tt font
-@c @exdent % lines preceded by a percent are comments.
-@exdent @code{% lines preceded by a percent are comments.}
-@c @end example
-@tab
-The percent sign, `@code{%}', introduces a line comment.  If you
-want to make larger comments, you can use block comments. These
-are delimited by `@code{%@{}' and `@code{%@}}'
-@end multitable
-@example 
-
-        \input "paper16.ly"
-@end example 
-By default, LilyPond will use definitions for a 20
-point@footnote{A point is the standard measure of length for
-printing.  One point is 1/72.27 inch.} high staff.  We want smaller
-output (16 point staff height), so we must import the settings for
-that size, which is done.@example 
-
-        \score @{
-@end example 
-  A mudela file combines music with directions for outputting that
-music.  The music is combined with the output directions by putting
-them into a @code{\score} block.
-@example 
-
-        \notes                
-@end example 
- This makes LilyPond ready for accepting notes.
-@example 
-
-        \relative c''
-@end example 
- As we will see, pitches are combinations of octave, note name and
-chromatic alteration.  In this scheme, the octave is indicated by
-using raised quotes (`@code{'}') and ``lowered'' quotes (commas:
-`@code{,}').  The central C is denoted by @code{c'}.  The C one octave
-higher is @code{c''}.  One and two octaves below the central C is
-denoted by @code{c} and @code{c,} respectively.
-
-For pitches in a long piece you might have to type many quotes.  To
-remedy this, LilyPond has a ``relative'' octave entry mode.  In this
-mode, octaves of notes without quotes are chosen such that a note is
-as close as possible (graphically, on the staff) to the the preceding
-note.  If you add a high-quote an extra octave is added.  The lowered
-quote (a comma) will subtract an extra octave.  Because the first note
-has no predecessor, you have to give the (absolute) pitch of the note
-to start with.@example 
-
-        \sequential @{
-@end example 
-  What follows is sequential music, i.e.,
-notes that are to be played and printed after each other.@example 
-
-        \time 3/4;
-@end example 
-  This command changes the time signature of the current piece: a 3/4
-sign is printed.  This command is also used to generate bar lines in
-the right spots.@example 
-
-        \key g;
-@end example 
- This command changes the current key to G-major.  Although this
-command comes after the @code{\time} command, in the output, the key
-signature comes before the time signature: LilyPond knows about music
-typesetting conventions. @example 
-
-        \repeat "volta" 2
-@end example 
-  This command tells LilyPond that the following piece of music must
-be played twice; @code{"volta"} volta brackets should be used for
-alternatives---if there were any.
-@example 
-
-        @{
-@end example 
-The subject of the repeat is again sequential music.  Since
-@code{\sequential} is such a common construct, a shorthand is provided:
-just leave off @code{\sequential}, and the result is the same. @example 
-
-        d4
-@end example 
- This is a note with pitch @code{d} (determined up to octaves).  The
-relative music was started with a @code{c''}, so the real pitch of this
-note is @code{d''}.  The @code{4} designates the duration of the note
-(it is a quarter note). @example 
-
-        a b
-@end example 
-These are notes with pitch @code{a} and @code{b}.  Because their
-duration is the same as the @code{g}, there is no need to enter the
-duration (You may enter it anyway, eg. @code{a4 b4}) @example 
-
-        d4 g, g |
-@end example 
- Three more notes.  The `@code{|}' character is a `barcheck'.  When
-processing the music, LilyPond will verify that barchecks are found at
-the start of a measure.  This can help you track down errors.
-
- So far, no notes were chromatically altered.  Here is the first one
-that is: @code{fis}. Mudela by default uses Dutch note names, and
-``Fis'' is the Dutch note name for ``F sharp''.  However, there is no
-sharp sign in the output. The program keeps track of key signatures,
-and will only print accidentals if they are needed.
-@example 
-
-        c8 d e fis
-@end example 
-LilyPond guesses were beams can be added to eighth and shorter notes.
-In this case, a beam over 4 eighths is added.
-@example 
-
-        c4 d8( )c b a( )b4 c8 b a g |
-@end example 
-  The next line shows how to make a slur:
-the beginning and ending note of the slur is marked with an opening and
-closing parenthesis respectively.  In the line shown above this is
-done for two slurs.  Slur markers (parentheses) are between
-the notes.@example 
-
-        a4 [b8 a] [g fis] 
-@end example 
-Automatic beaming can be overridden by inserting beam marks
-(brackets).  Brackets are put around notes you want beamed.@example 
-
-        g2.  |
-@end example 
-A duration with augmentation dot  is notated
-with the duration number followed by a period.@example 
-
-        @}
-@end example 
-  This ends the sequential music to be repeated.  LilyPond will typeset
-a repeat bar.  @example 
-
-        cis'4 b8 cis a4 |
-@end example 
- This line shows that Lily will print an accidental if that is
-needed: the first C sharp will be printed with an accidental, the
-second one without.  @example 
-
-        a8-. b-. cis-. d-. e-. fis-.
-@end example 
-You can enter articulation signs either in a verbose form using a
-shorthand.  Here we demonstrate the shorthand: it is formed by a dash
-and the the character for the articulation to use, e.g. `@code{-.}' for
-staccato as shown above.  @example 
-
-        fis a, r8 cis8
-@end example 
-Rests are denoted by the special notename `@code{r}'.  You can also enter
-an invisible rest by using the special notename `@code{s}'.
-@example 
-
-        d2.-\fermata
-@end example 
- All articulations have a verbose form, like @code{\fermata}.  The
-command `@code{\fermata}' is not part of the core of the language (most
-of the other discussed elements are), but it is a shorthand for a more
-complicated description of a fermata.  @code{\fermata} names that
-description and is therefore called an @emph{identifier}. @example 
-
-        @}
-@end example 
-Here the music ends.
-@example 
-
-        \paper @{
-                linewidth = 14.0\cm;
-        @}
-@end example 
-This specifies a conversion from music to notation output.  Most of
-the details of this conversions (font sizes, dimensions, etc.) have
-been taken care of, but  to fit the output  in this document, it has
-to be smaller.  We do this by setting the line width to 14 centimeters
-(approximately 6 inches).
-@example 
-
-        @}
-@end example 
-The last brace ends the @code{\score} block.
-
-There are two things to note here. The format contains musical
-concepts like pitches and durations, instead of symbols and positions:
-the input format tries to capture the meaning of @emph{music}, and not
-notation.  Therefore Second, the format tries to be @emph{context-free}:
-a note will sound the same regardless of the current time signature,
-the key, etc.
-
-The purpose of LilyPond is explained informally by the term `music
-typesetter'.  This is not a fully correct name: not only does the
-program print musical symbols, it also makes esthetic decisions.  All
-symbols and their placement is @emph{generated} from a high-level musical
-description.  In other words,  LilyPond would be best
-described by `music compiler' or `music to notation compiler'.
-
-@node Lyrics and chords, Piano music, sec-firsttune, Typesetting music with LilyPond
-@section Lyrics and chords
-
-In this section we show how to typeset a song of unknown
-origin.@footnote{The author would welcome information about the origin
-of this song.}.
-
-@example 
-\header @{
-        title = "The river is flowing";
-        composer = "Traditional (?)";
-@}
-\include "paper16.ly"
-melody = \notes \relative c' @{
-        \partial 8;
-        g8 |
-        c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g |
-        c4 c8 d [es () d] c4 | d4 es8 d c4.
-        \bar "|.";
-@}
-
-text = \lyrics @{
-        The ri -- ver is flo- __ wing, flo -- wing and gro -- wing, the
-        ri -- ver is flo -- wing down to the sea.
-@}
-
-accompaniment =\chords @{
-        r8
-        c2-3- f-3-.7 d-min es4 c8-min r8
-        c2-min f-min7 g-7^3.5 c-min @}
-
-\score @{
-        \simultaneous @{
-%         \accompaniment
-          \context ChordNames \accompaniment
-
-          \addlyrics
-            \context Staff = mel @{        
-              \property Staff.noAutoBeaming = "1"
-              \property Staff.automaticMelismata = "1"
-              \melody 
-            @}
-            \context Lyrics \text
-        @}
-        \midi  @{ @}
-        \paper @{ linewidth = 10.0\cm; @}
-@} 
-@end example 
-
-
-The result would look this@footnote{The titling and font size shown
-may differ, since the titling in this document is not generated by
-@file{ly2dvi}.}.
-
-@center @strong{The river is flowing}
-@center Traditional 
-
-@mudela[center]
-\header {
-        title = "The river is flowing";
-        composer = "Traditional (?)";
-}
-\include "paper16.ly"
-melody = \notes \relative c' {
-        \partial 8;
-        g8 |
-        c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g |
-        c4 c8 d [es () d] c4 | d4 es8 d c4.
-        \bar "|.";
-}
-
-text = \lyrics {
-        The ri -- ver is flo- __ wing, flo -- wing and gro -- wing, the
-        ri -- ver is flo -- wing down to the sea.
-}
-
-accompaniment =\chords {
-        r8
-        c2-3- f-3-.7 d-min es4 c8-min r8
-        c2-min f-min7 g-7^3.5 c-min }
-
-\score {
-        \simultaneous {
-%         \accompaniment
-          \context ChordNames \accompaniment
-
-          \addlyrics
-            \context Staff = mel {
-              \property Staff.noAutoBeaming = "1"
-              \property Staff.automaticMelismata = "1"
-              \melody 
-            }
-            \context Lyrics \text
-        }
-        \midi  { }
-        \paper { linewidth = 10.0\cm; }
-}
-@end mudela
-
-Again, we will dissect the file line by line.@example 
-
-        \header @{
-@end example 
-Information about the music you are about to typeset goes into a
-@code{\header} block.  The information in this block is not used by
-LilyPond, but it is included in the output.  @file{ly2dvi} uses this
-information to print titles above the music.
-@example 
-
-        title = "The river is flowing";
-        composer = "Traditional (?)"; 
-@end example 
-the @code{\header} block contains assignments.  An assignment starts
-with a string.  (which is unquoted, in this case). Then comes the
-equal sign `@code{=}'.  After the equal sign comes the expression you
-want to store.  In this case, you want to put in strings.  The
-information has to be quoted here, because it contains spaces. The
-assignment is finished with a semicolon.@example 
-
-        \include "paper16.ly"
-@end example 
-Smaller size for inclusion in a book.@example 
-
-        melody = \notes \relative c' @{
-@end example 
-The structure of the file will be the same as the previous one, a
-@code{\score} block with music in it.  To keep things readable, we will
-give names to the different parts of music, and use the names to
-construct the music within the score block.
-
-@example 
-
-        \partial 8;
-@end example 
-
-The piece starts with an anacrusis of one eighth.  @example 
-
-        c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g |
-        c4 c8 d [es () d] c4 | d4 es8 d c4.
-        \bar "|.";
-@end example 
-We use explicit beaming.  Since this is a song,  we will turn automatic
-beams off, and use explicit beaming where needed.@example 
-
-        @}
-@end example 
-This ends the definition of @code{melody}.  Note that there are no
-semicolons after assignments at top level.@example 
-
-        text = \lyrics @{
-@end example 
-Another identifier assignment.  This one is for the lyrics. 
-Lyrics are formed by syllables that have duration, and not by
-notes. To make LilyPond parse words as syllables,  switch it  into
-lyrics mode with @code{\lyrics}.  Again, the brace after @code{\lyrics}
-is a shorthand for @code{\sequential @{}. @example 
-
-        The4 ri -- ver is flo- __ wing,  flo -- wing and gro -- wing, the
-        ri- ver is flo- __ wing down to the sea.
-        @}
-@end example 
-The syllables  themselves are  separated by spaces.  You can get syllable
-extenders by entering `@code{__}', and centered hyphens with
-`@code{-}@code{-}'.  We enter the syllables as if they are all quarter notes
-in length (hence the @code{4}), and use a feature to align the
-syllables to the music (which obviously isn't all quarter notes.)
-@example 
-
-        accompaniment =\chords @{
-@end example 
-We'll put chords over the music.  There is a special mode (analogous
-to @code{\lyrics} and @code{\notes} mode) where you can give the names
-of the chords you want, instead of the notes comprising the chord.
-@example 
-
-        r8
-@end example 
-There is no accompaniment during the anacrusis.@example 
-
-        c2-3- f-3-.7
-@end example 
-A chord is started by  the tonic of the chord. The
-first one lasts a half note.  An unadorned note creates a major
-triad, while a minor triad is wanted.  @code{3-} modifies the third to
-be small. @code{7} modifies (adds) a seventh, which is small by default
-to create the @code{f a c es} chord.  Multiple modifiers must be
-separated by a dot.@example 
-
-        d-min es4 c8-min r8
-@end example 
-Some modifiers have predefined names, eg. @code{min} is  the same as
-@code{3-}, so @code{d-min} is a minor @code{d} chord.@example 
-
-        c2-min f-min7 g-7^3.5 c-min @}
-@end example 
-A named modifier @code{min} and a normal modifier @code{7} do not have
-to be separated by a dot.  Tones from a chord are removed with chord
-subtractions.  Subtractions are started with a caret, and they are
-also separated by dots.  In this example, @code{g-7^3.5} produces a
-minor seventh.  The brace ends the sequential music. @example 
-
-        \score @{
-                \simultaneous @{
-@end example 
-We assemble the music in the @code{\score} block.  Melody, lyrics and
-accompaniment have to sound at the same time, so they should be
-@code{\simultaneous}.@example 
-
-        %\accompaniment
-@end example 
-Chord mode generates notes grouped in @code{\simultaneous} music.  If
-you remove the comment sign, you can see the chords in normal
-notation: they will be printed as note heads on a separate
-staff. @example 
-
-        \context ChordNames \accompaniment
-@end example 
-Normally, the notes that you enter are transformed into note heads.
-The note heads alone make no sense, they need surrounding information:
-a key signature, a clef, staff lines, etc.  They need @emph{context}.  In
-LilyPond, these symbols are created by objects called `interpretation
-context'.  Interpretation contexts only exist during a run of
-LilyPond.  Interpretation contexts that are for printing music (as
-opposed to playing music) are called `notation context'.
-
-By default, LilyPond will create a Staff contexts for you.  If you
-would remove the @code{%} sign in the previous line, you can see that
-mechanism in action.
-
-We don't want default contexts here, because we want names, not note
-heads.  An interpretation context can also created upon explicit
-request. The keyword for such a request is @code{\context}.  It takes
-two arguments.  The first is the name of a interpretation context.
-The name is a string, it can be quoted with double quotes).  The
-second argument is the music that should be interpreted in this
-context.  For the previous line, we could have written @code{\context
-Staff \accompaniment}, and get the same effect.@example 
-
-        \addlyrics
-@end example 
-The lyrics need to be aligned with the melody.  This is done by
-combining both with @code{\addlyrics}.  @code{\addlyrics} takes two
-pieces of music (usually a melody and lyrics, in that order) and
-aligns the syllables of the second piece under the notes of the
-first piece.  If you would reverse the order, the notes would be
-aligned on the lyrics, which is not very useful. (Besides, it looks
-silly.)@example 
-
-        \context Staff = mel @{
-@end example 
-This is the argument of @code{\addlyrics}.  We instantiate a
-@code{Staff} context explicitly: should you chose to remove comment
-before the ``note heads'' version of the accompaniment, the
-accompaniment will be on a nameless staff.  The melody has to be on a
-different staff as the accompaniment.  This is accomplished by giving
-the melody staff a different name.@example 
-
-        \property Staff.noAutoBeaming = "1"
-@end example 
-An interpretation context has variables that tune its behaviour.  One
-of the variables is @code{noAutoBeaming}.  If set and non-zero (i.e.,
-true) LilyPond will not try to put automatic beaming on the current
-staff.@example 
-
-        \property Staff.automaticMelismata = "1"
-@end example 
-Similarly, we  don't want to print a  syllable when there is
-a slur. This sets up the Staff context to signal slurs while
-@code{\addlyrics} is processed. @example 
-
-          \melody
-        @}
-@end example 
-Finally, we put the melody on the current staff.  Note that the
-@code{\property} directives and @code{\melody} are grouped in sequential
-music,  so the property settings are done before the melody is
-processed.  @example 
-
-        \context Lyrics \text
-@end example 
-The second argument of @code{\addlyrics} is the text. The text also
-should not land on a Staff, but on a interpretation context for
-syllables, extenders, hyphens etc.  This context is called
-Lyrics.@example 
-
-        @}
-@end example 
-This ends @code{\simultaneous}.@example 
-
-        \midi  @{ @}
-@end example 
-This makes the music go to a MIDI file.  MIDI is great for
-checking music you enter.  You listen to the MIDI file: if you hear
-something unexpected, it's probably a typing error.  @code{\midi} is an
-`output definition', a declaration that specifies how to output music
-analogous to @code{\paper @{ @}}.@example 
-
-        \paper @{ linewidth = 10.0\cm; @}
-@end example 
-We also want notation output.  The linewidth is short so the piece
-will be set in two lines. @example 
-
-        @}
-@end example 
-End the score block.
-
-@node Piano music, The end, Lyrics and chords, Typesetting music with LilyPond
-@section Piano music
-
-Our third subject is a piece piano music.  The fragment in the input
-file is a piano reduction of the G major Sinfonia by Giovanni Battista
-Sammartini.  It was composed around 1740. 
-
-@mudela[verbatim]
-
-\include "paper16.ly";
-
-viola = \notes \relative c' \context Voice = viola {
-        <c4-\f g' c>
-        \property Voice.verticalDirection = \down g'8. b,16
-        s1 s2. r4
-        g
-}
-
-oboes = \notes \relative c'' \context Voice = oboe {
-        \stemup s4  g8. b,16 c8 r <e'8.-\p g> <f16 a>
-        \grace <e8( g> <d4 f> <c2 e> \times 2/3 { <d8 \< f> <e g> <f a> }
-        <
-          { \times 2/3 { a8 g c } \! c2 }
-          \context Voice = oboeTwo {
-                \stemdown
-                \grace {
-                    \property Grace.verticalDirection = \down
-                    [f,16 g] }
-                f8 e e2
-        } >
-        \stemboth
-        \grace <c,8( e> <)b8. d8.-\trill> <c16 e> | 
-        [<d ( f> < )f8. a>] <)b,8 d> r [<d16( f> <f8. )a>] <b,8 d> r  |
-        [<c16( e>  < )e8. g>] <c8 e,>
-}
-
-hoomPah  = \notes \transpose c' {
-    c8 \translator Staff = top \stemdown 
-    c'8 \translator Staff = bottom \stemup }
-
-hoomPahHoomPah = { [\hoomPah \hoomPah] }
-
-bassvoices = \notes \relative c' {
-        c4 g8. b,16
-        \hoomPahHoomPah \hoomPahHoomPah \hoomPahHoomPah \hoomPahHoomPah
-        \stemdown [c8 c'8] r4
-        <g d'> r4
-        < {\stemup r2 <e4 c'> <c8 g'> }
-          \context Voice = reallyLow  {\stemdown g2 ~ | g4 c8 } >
-}
-
-\score {
-        \context PianoStaff \notes <
-                \context Staff = top < \time 2/2;
-                        \context Voice = viola \viola
-                        \oboes
-                >
-                \context Staff = bottom < \time 2/2; \clef bass;
-                        \bassvoices
-                >
-        >
-        \midi { }
-        \paper {
-          indent = 0.0;
-          linewidth = 15.0 \cm; }
-}
-@end mudela
-
-If it looks like incomprehensible gibberish to you... Then you are
-right.  The author has doctored this example to have as many quirks in
-one system as possible.@example 
-viola = \notes \relative c'  \context Voice = viola @{ 
-@end example 
-In this example, you can see multiple parts on a staff.  Each part is
-associated with one notation context.  This notation context handles
-stems and dynamics (among others).  The name of this context is
-@code{Voice}.  For each part we have to make sure that there is
-precisely one Voice context@footnote{If @code{\context} would not
-have been specified explicitly, three @code{Voice} contexts would be
-created: one for each note  in the first chord.}.@example 
-<c4-\f g' c> 
-@end example 
-@code{<} and @code{>} are short hands for @code{\simultaneous @{} and
-@code{@}}. So the expression enclosed in @code{<} and @code{>} is a
-chord.  @code{\f} places a forte symbol  under the chord.@example 
-\property Voice.verticalDirection = \down 
-@end example 
-@code{verticalDirection} is a property of the voice context. It
-controls the directions of stems, articulations marks and other
-symbols.
-  If @code{verticalDirection} is set to @code{\down}
-(identifier for the integer -1) the stems go down,
-@code{\up} (identifier for the integer 1) makes the stems go up.@example 
-        g'8. b,16 
-@end example 
-Relative octaves work a little differently with chords.  The starting
-point for the note following a chord is the first note of the chord.  So
-the @code{g} gets an octave up quote: it is a fifth above the starting
-note of the previous chord (the central C).
-
-@example 
-s1 s2. r4 
-@end example 
-@code{s} is a `spacer' rest.  It does not print anything,  but it does
-have the duration of a rest.   @example 
-oboes = \notes \relative c'' \context Voice = oboe @{ 
-@end example 
-Now comes a part for two oboes.  They play homophonically, so we
-print the notes as one voice that makes chords. Again, we insure that
-these notes are indeed processed by precisely one context with
-@code{\context}.@example 
-\stemup s4  g8. b,16 c8 r <e'8.-\p g> <f16 a> 
-@end example 
-@code{\stemup} is an identifier reference.  It is shorthand for
-@code{\property Voice.verticalDirection = \up}.  If possible, you
-should use predefined identifiers like these for setting properties.
-Your input will be less dependent upon the implementation of LilyPond.
-@example 
-\grace <e8( g> < )d4 f> <c2 e> 
-@end example 
-@code{\grace} introduces grace notes.  It takes one argument, in this
-case a chord.  The slur started on the @code{e} of the chord
-will be attached to the next note.@footnote{LilyPond will squirm
-about unended Slurs.  In this case, you can ignore the warning}.
-@example 
-\times 2/3 
-@end example 
-Tuplets are made with the @code{\times} keyword.  It takes two
-arguments: a fraction and a piece of music.  The duration of the
-second argument is multiplied by the first argument.  Triplets make
-notes occupy 2/3 of their notated duration, so in this case the
-fraction is 2/3. @example 
-@{ <d8 \< f> <e g> <f a> @} 
-@end example 
-The piece of music to be `tripletted' is sequential music containing
-three notes.  On the first chord (the @code{d}), a crescendo is started
-with @code{\<}.@example 
-< 
-@end example 
-At this point, the homophonic music splits into two rhythmically
-different parts.  We can't use a sequence of chords to enter this, so
-we make a `chord' of sequences to do it.  We start with the upper
-voice, which continues with upward stems: @example 
- @{ \times 2/3 @{ a8 g c @} \! c2 @} 
-@end example 
-The crescendo is ended at the half note by the escaped exclamation
-mark `@code{\!}'.  @example 
-\context Voice = oboeTwo @{
-\stemdown 
-@end example 
-We can't share stems with the other voice, so we have to create a new
-@code{Voice} context.  We give it the name @code{oboeTwo} to distinguish
-it from the other context.  Stems go down in this voice. @example 
-\grace @{  
-@end example 
-When a grace section is processed, a @code{Grace} context is
-created. This context acts like a miniature score of its own.  It has
-its own time bookkeeping, and you can make notes, beams, slurs
-etc. Here fiddle with a property and make a beam.  The argument of
-@code{\grace} is sequential music.@example 
-\property Grace.verticalDirection = \down
-[f,16 g] @} 
-@end example 
-Normally, grace notes are always stem up, but in this case, the upper
-voice interferes. We set the stems down here.
-
-As far as relative mode is concerned, the previous note is the
-@code{c'''2} of the upper voice, so we have to go an octave down for
-the @code{f}.
-@example 
-
-  f8 e e2
-@} > 
-@end example 
-This ends the two-part section. @example 
-\stemboth
-\grace <c,8( e> <)b8. d8.-\trill> <c16 e> |  
-@end example 
-@code{\stemboth} ends the forced stem directions. From here, stems are
-positioned as if it were single part music.
-
-The bass has a little hoom-pah melody to demonstrate parts switching
-between staffs.  Since it is repetitive, we use identifiers:@example 
-hoomPah  = \notes \transpose c' @{ 
-@end example 
-Transposing can be done with @code{\transpose}.  It takes two
-arguments; the first specifies what central C should be transposed to.
-The second is the to-be-transposed music.  As you can see, in this
-case, the transposition is a no-op.  Central C is transposed to
-central C.
-
-The purpose of this no-op is circumventing relative mode.  Relative
-mode can not be used in conjunction with transposition, so relative
-mode will leave the contents of @code{\hoomPah} alone.  We can use it
-without having to worry about getting the motive in a wrong
-octave@footnote{@code{hoomPah = \relative ...} would be more
-intuitive to use, but that would not let me plug @code{\transpose}
-:-).}.@example 
-c8 \translator Staff = top \stemdown  
-@end example 
-We assume that the first note will be put in the lower staff.  After
-that note we switch to the upper staff with @code{\translator}.  To be
-precise, this @code{\translator} entry switches the current voice to a
-@code{Staff} named @code{top}. So we have to name the upper staff
-`@code{top}'.  Stem directions are set to avoid interfering with the
-oboe voices.  @example 
-c'8 \translator Staff = bottom \stemup @} 
-@end example 
-Then a note is put on the upper staff, and we switch again.  We have
-to name the lower staff `@code{bottom}'. @example 
-hoomPahHoomPah = @{ [\hoomPah \hoomPah] @} 
-@end example 
-Put two of these fragments in sequence, and beam them.@example 
-bassvoices = \notes \relative c' @{
-c4 g8. b,16
-\hoomPahHoomPah \hoomPahHoomPah \hoomPahHoomPah
-\hoomPahHoomPah 
-@end example 
-Entering the bass part is easy: the hoomPahHoomPah variable is
-referenced four times.@example 
-\context Voice = reallyLow  @{\stemdown g2 ~ | g4 c8 @} > 
-@end example 
-After skipping some lines, we see @code{~}.  This mark makes ties.@example 
-\context PianoStaff 
-@end example 
-For piano music, a special context is needed to get cross staff
-beaming right.  It is called @code{PianoStaff}.@example 
-\context Staff = bottom < \time 2/2; \clef bass; 
-@end example 
-The bottom staff must have a different clef.@example 
-indent = 0.0; 
-@end example 
-To make some more room on the line, the first (in this case the only)
-line is not indented.  The line still looks is very cramped, but that is due
-to the format of this tutorial.
-
-This example shows a lot of features, but the organisation isn't
-perfect.  For example, it would be less confusing to use a chord
-containing sequential music than a sequence of chords for the oboe
-parts.
-
-[TODO: demonstrate Hara-Kiri with scores and  part extraction.]
-
-@node The end, Top, Piano music, Typesetting music with LilyPond
-@section The end        
-         
-That's all folks.  From here, you can either try fiddling with input
-files, or you can read the reference manual.
-
-
-@bye