with the @TeX{} distribution.
@item kpathsea, a library for searching (@TeX{}) files. @code{kpathsea} is
-usually included with your installation of @TeX{}. You may need to install
-a tetex-devel or tetex-dev package too. If kpathsea is not installed in
-a directory where the compiler normally looks, read the hints for
-Slackware below.
+usually included with your installation of @TeX{}. You may need to
+install a tetex-devel or tetex-dev package too. If kpathsea is not
+installed in a directory where the compiler normally looks, read the
+hints for Slackware below.
In the very unlikely case that kpathsea is not available for your
platform (ie, you're not running GNU/Linux, Windows, or any recent
@c prefix=~ ?
@example
- ./configure --prefix=~ --enable-checking
+ ./configure --prefix=$HOME/usr/ --enable-checking
make
make install
@end example
@example
- ./configure --prefix=~ --enable-profiling --enable-config=prof --disable-checking
+ ./configure --prefix=$HOME/usr/ --enable-profiling --enable-config=prof --disable-checking
make conf=prof
make conf=prof install
platform.
At least on Slackware 8.0, you have to manually specify the paths to the
-Kpathsea library, using
-@itemize
-@item @code{rm config.cache}
-@item @code{export LDFLAGS=-L/usr/share/texmf/lib}
-@item @code{export CPPFLAGS=-I/usr/share/texmf/include}
-@item @code{./configure}
-@end itemize
+Kpathsea library, see the section on kpathsea
@subsection Mandrake
itself.
-@subsubsection compiling on MacOS X
+@subsection compiling on MacOS X
LilyPond has been built on Darwin, to be precise, on:
@example
Darwin buoux.aspiratie.nl 5.3 Darwin Kernel Version 5.3: Thu Jan 24
Bugs that are not fault of LilyPond are documented here.
+@subsection Linking to kpathsea
+
+If kpathsea and the corresponding header files are installed in some
+directory where GCC does not search by default, for example in
+@file{/usr/local/lib/} and @file{/usr/local/include/} respectively,
+you have to explicitly tell configure where to find it. To do this,
+
+@itemize
+@item @code{rm config.cache}
+@item @code{export LDFLAGS=-L/usr/share/texmf/lib}
+@item @code{export CPPFLAGS=-I/usr/share/texmf/include}
+@item @code{./configure}
+@end itemize
+Once configure has found them, the paths are stored in
+@file{config.make} and will be used even if you don't have the
+environment variables set during make.
+
+
@unnumberedsubsec Gcc-3.0.4
Gcc 3.0.4, is a bit flaky. Try downgrading to 2.95.x, or if you're
version "x.y.z", an even second number 'y' denotes a stable version.
For development versions 'y' is odd.
-Version 1.4 is the latest stable release.
+Version 1.6 is the latest stable release.
+@section Downloading
+
+The primary download site for sourcecode is
+@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}.
+
+If you have a slow connection, then you are advised to use
+@uref{xdelta,ftp://ftp.xcf.berkeley.edu/pub/xdelta/} for patching
+source archives; Xdelta (@file{.xd}) files are supplied on the website.
@section Compilation
@node Insert music snippets into your texts using lilypond-book
@chapter Insert music snippets into your texts using lilypond-book
+@cindex
+
+
If you want to add pictures of music to a document, you can simply do
it the way you would do with other types of pictures. You write
LilyPond code, process it separately to embedded PostScript or
@code{png}, and include it as a picture into your La@TeX{} or
@code{html} source.
-@command{lilypond-book} provides you with an alternative and easier
-way; it allows you to insert snippets of LilyPond code into your
-La@TeX{}, @code{html} or @code{texi} document. @code{lilypond-book}
-introduces some extra LilyPond specific constructs, that integrate
-seamlessly with the rest of your source document.
-
+@command{lilypond-book} provides you with a way to automate this
+process: this program will extract snippets of music from your
+document, run lilypond on them, and substitute the resulting pictures
+back. This works for La@TeX{}, @code{html} or texinfo documents.
+@code{lilypond-book} introduces some extra LilyPond specific
+constructs, that integrate seamlessly with the rest of your source
+document.
+@cindex texinfo
+@cindex latex
+@cindex texinfo
+@cindex @code{texi}
+@cindex html
+@cindex documents, adding music to
-
-@command{lilypond-book} runs LilyPond on fragments of LilyPond in a
-La@TeX{} or Texinfo file, and includes the results into a document that
-can be processed with La@TeX{}, @command{makeinfo} or
-@command{texi2dvi}. The result is a text document containing formatted
-music integrated.
-
More precisely, if a La@TeX{} file contains
@example
There is no way to automatically apply convert-ly to fragments inside a
lilypond-book file.
+
+@file{lilypond-book} processes all music fragments in one big run. The
+state of the GUILE interpreter is not reset between fragments; this
+means that GUILE definitions, eg. done with @code{#(define .. )} and
+@code{#(set! .. )} can leak from one fragment into a next fragment.
sequencer, and then import it using midi2ly. midi2ly is described in
@ref{Invoking midi2ly}.
+
@c . {Relative}
@node Relative octaves
@subsection Relative octaves
are running, try @code{xdvi -version} or @code{xdvi.bin -version}.
@item KDVI. A dvi viewer for KDE. You need KDVI from KDE 3.0 or
newer. Enablle the menu Settings -> Inverse search.
+
+@cindex Xdvi
+@cindex KDVI
+@cindex KDE
+
@end itemize
@item An editor with a client/server interface (or a lightweight GUI editor).
@itemize @bullet
@item Emacs. Emacs is an extensible text-editor. It is available from
@uref{http://www.gnu.org/software/emacs/}. You need version 21 to use
column location.
+
+@c move this elsewhere?
+
+LilyPond also comes with support files for emacs: lilypond-mode for
+emacs provides indentation, syntax coloring and handy compile
+short-cuts. If lilypond-mode is not installed on your platform, then
+refer to the installation instructions for more information
+
+@cindex emacs
+@cindex emacs mode
+@cindex lilypond-mode for emacs
+@cindex syntax coloring
+
@item XEmacs. Xemacs is very similar to emacs.
+
+@cindex XEmacs
+
@item NEdit. NEdit runs under Windows, and Unix.
It is available from @uref{http://www.nedit.org}.
+
+@cindex NEdit
+
@item GVim. GVim is a GUI variant of VIM, the popular VI
clone. It is available from @uref{http://www.vim.org}.
+
+@cindex GVim
+@cindex Vim
+
@end itemize
@end itemize
@node Integrating text and music
@section Integrating text and music
+
+@cindex La@TeX{}, music in
+@cindex HTML, music in
+@cindex Texinfo, music in
+
Sometimes, you might want to use music examples in a text that you are
writing. For example, if you are writing a musicological treatise, a
songbook, or (like us) the LilyPond manual. You can make such texts by
Under Unix, you can view the results as follows.
@example
$ cd input/tutorial
+$ mkdir out/
+@var{..may complain that @file{out/} already exists..}
$ lilypond-book --outdir=out/ lilbook.tex
lilypond-book (GNU LilyPond) 1.3.146
Reading `input/tutorial/lilbook.tex'