versions have an odd-numbered @q{minor} version number (i.e. 2.7, 2.9,
2.11, etc).
-Building LilyPond is an involved process, so we @strong{highly}
+Building LilyPond is a very involved process, so we @strong{highly}
recommend using the precompiled binaries.
@menu
* Downloading source code::
* Requirements::
* Building LilyPond::
+* Building documentation without compiling LilyPond::
* Testing LilyPond::
* Problems::
@end menu
@node Building LilyPond
@subsection Building LilyPond
+@subsubsection Compiling
+
To install GNU LilyPond, type
@example
@end example
-@subsection Configuring for multiple platforms
+@subsubsection Compiling for multiple platforms
If you want to build multiple versions of LilyPond with different
configuration settings, you can use the @code{--enable-config=CONF}
@end example
+@node Building documentation without compiling LilyPond
+@subsection Building documentation without compiling LilyPond
+
+The documentation can be built locally without compiling lilypond from
+scratch.
+
+From a fresh git checkout, do
+
+@example
+./autogen.sh % ignore any warning messages
+cp GNUmakefile.in GNUmakefile
+make -C python
+nice make LILYPOND_EXTERNAL_BINARY=~/Apps/LilyPond.app/Contents/Resources/bin/lilypond web
+% change the lilypond directory as appropriate
+@end example
+
+Please note that this may break sometimes -- for example, if a new
+feature is added with a test file in input/regression, even the latest
+unstable Lily will fail to build the docs.
+
+You may build the manual ( Documentation/user/ ) without building all
+the input/* stuff.
+
+
@node Testing LilyPond
@subsection Testing LilyPond
* Updating files with convert-ly::
* Reporting bugs::
* Error messages::
-* Editor support::
-* Point and click::
@end menu
@node Invoking lilypond
above the indicated position.
-@node Editor support
-@section Editor support
-
-@cindex editors
-@cindex vim
-@cindex emacs
-@cindex modes, editor
-@cindex syntax coloring
-@cindex coloring, syntax
-
-There is support from different editors for LilyPond.
-
-@table @asis
-@item Emacs
-Emacs has a @file{lilypond-mode}, which provides keyword
-autocompletion, indentation, LilyPond specific parenthesis matching
-and syntax coloring, handy compile short-cuts and reading LilyPond
-manuals using Info. If @file{lilypond-mode} is not installed on your
-platform, then read the
-@ifhtml
-@uref{source/Documentation/topdocs/INSTALL.html,installation instructions}.
-@end ifhtml
-@ifnothtml
-installation instructions.
-@end ifnothtml
-
-@item VIM
-
-For @uref{http://@/www@/.vim@/.org,VIM}, a @file{vimrc} is supplied, along
-with syntax coloring tools. For more information, refer to the
-@ifhtml
-@uref{source/Documentation/topdocs/INSTALL.html,installation instructions}.
-@end ifhtml
-@ifnothtml
-installation instructions.
-@end ifnothtml
-
-
-@item LilyPondTool
-
-Created as a plugin for the @uref{http://@/www@/.jedit@/.org@/,jEdit} text
-editor, LilyPondTool is the most feature-rich text-based tool for editing
-LilyPond scores. Its features include a Document Wizard with lyrics
-support to set up documents easier, and embedded PDF viewer with advanced
-point-and-click support. For screenshots, demos and installation
-instructions, visit @uref{http://lilypondtool@/.organum@/.hu}
-
-@end table
-
-All these editors can be made to jump into the input file to the source
-of a symbol in the graphical output. See @ref{Point and click}.
-
-In addition, several other text editors provide some support for
-LilyPond, including
-
-@table @asis
-@item TexShop
-The @uref{http://@/www@/.uoregon@/.edu/~koch/texshop/index@/.html,TexShop}
-editor for Mac OS X can be extended to run LilyPond, lilypond-book and
-convert-ly from within the editor, using the extensions available at
-@uref{http://@/www@/.dimi@/.uniud@/.it/vitacolo/freesoftware@/.html}.
-
-@end table
-
-
-@node Point and click
-@section Point and click
-@cindex point and click
-
-
-Point and click lets you find notes in the input by clicking on them
-in the PDF viewer. This makes it easier to find input that causes
-some error in the sheet music.
-
-When this functionality is active, LilyPond adds hyperlinks to the PDF
-file. These hyperlinks are sent to the web-browser, which opens a
-text-editor with the cursor in the right place.
-
-To make this chain work, you should configure your PDF viewer to
-follow hyperlinks using the @file{lilypond-invoke-editor} script
-supplied with LilyPond.
-
-For Xpdf on Unix, the following should be present in
-@file{xpdfrc}@footnote{On unix, this file is found either in
-@file{/etc/xpdfrc} or as @file{.xpdfrc} in your home directory.}
-
-@example
-urlCommand "lilypond-invoke-editor %s"
-@end example
-
-The program @file{lilypond-invoke-editor} is a small helper
-program. It will invoke an editor for the special @code{textedit}
-URIs, and run a web browser for others. It tests the environment
-variable @code{EDITOR} for the following patterns,
-
-@table @code
-@item emacs
- this will invoke
-@example
-emacsclient --no-wait +@var{line}:@var{column} @var{file}
-@end example
-@item vim
- this will invoke
-@example
-gvim --remote +:@var{line}:norm@var{char} @var{file}
-@end example
-
-@item nedit
-this will invoke
-@example
- nc -noask +@var{line} @var{file}'
-@end example
-@end table
-
-The environment variable @code{LYEDITOR} is used to override this. It
-contains the command line to start the editor, where @code{%(file)s},
-@code{%(column)s}, @code{%(line)s} is replaced with the file, column
-and line respectively. The setting
-
-@example
-emacsclient --no-wait +%(line)s:%(column)s %(file)s
-@end example
-
-@noindent
-for @code{LYEDITOR} is equivalent to the standard emacsclient
-invocation.
-
-
-@cindex file size, output
-
-The point and click links enlarge the output files significantly. For
-reducing the size of PDF and PS files, point and click may be switched
-off by issuing
-
-@example
-#(ly:set-option 'point-and-click #f)
-@end example
-
-@noindent
-in a @file{.ly} file. Alternately, you may pass this as an command-line
-option
-
-@example
-lilypond -dno-point-and-click file.ly
-@end example
@menu
* Notes for the MacOS X app::
* Text editor support::
+* Point and click::
@end menu
@node Text editor support
@section Text editor support
+@cindex editors
+@cindex vim
+@cindex emacs
+@cindex modes, editor
+@cindex syntax coloring
+@cindex coloring, syntax
+
+There is support from different text editors for LilyPond.
+
@menu
* Emacs mode::
* Vim mode::
+* LilyPondTool::
+* TexShop::
@end menu
@node Emacs mode
@subsection Emacs mode
+Emacs has a @file{lilypond-mode}, which provides keyword
+autocompletion, indentation, LilyPond specific parenthesis matching
+and syntax coloring, handy compile short-cuts and reading LilyPond
+manuals using Info. If @file{lilypond-mode} is not installed on your
+platform, see below.
+
An Emacs mode for entering music and running LilyPond is contained in
the source archive in the @file{elisp} directory. Do @command{make
install} to install it to @var{elispdir}. The file @file{lilypond-init.el}
As a user, you may want add your source path (e.g. @file{~/site-lisp/}) to
your @var{load-path} by appending the following line (as modified) to your
@file{~/.emacs}
+
@c any reason we do not advise: (push "~/site-lisp" load-path)
-@quotation
@example
(setq load-path (append (list (expand-file-name "~/site-lisp")) load-path))
@end example
-@end quotation
@node Vim mode
@subsection Vim mode
-A Vim mode for entering music and running LilyPond is contained in the
-source archive in @code{$VIM} directory.
+For @uref{http://@/www@/.vim@/.org,VIM}, a @file{vimrc} is supplied,
+along with syntax coloring tools. A Vim mode for entering music and
+running LilyPond is contained in the source archive in @code{$VIM}
+directory.
+
+The LilyPond file type is detected if the file
+@file{~/.vim/filetype.vim} has the following content
-The LilyPond file type is detected if the file @file{~/.vim/filetype.vim} @c
-has the following content
-@quotation
@example
if exists("did_load_filetypes")
finish
au! BufNewFile,BufRead *.ly setf lilypond
augroup END
@end example
-@end quotation
Please include this path by appending the following line to your
@file{~/.vimrc}
-@quotation
@example
set runtimepath+=/usr/local/share/lilypond/$@{LILYPOND_VERSION@}/vim/
@end example
-@end quotation
@noindent
where $@{LILYPOND_VERSION@} is your lilypond version. If Lilypond was not
installed in @file{/usr/local/}, then change this path accordingly.
+@node LilyPondTool
+@subsection LilyPondTool
+
+Created as a plugin for the @uref{http://@/www@/.jedit@/.org@/,jEdit}
+text editor, LilyPondTool is the most feature-rich text-based tool for
+editing LilyPond scores. Its features include a Document Wizard with
+lyrics support to set up documents easier, and embedded PDF viewer with
+advanced point-and-click support. For screenshots, demos and
+installation instructions, visit
+@uref{http://lilypondtool@/.organum@/.hu}
+
+
+@node TexShop
+@subsection TexShop
+
+The @uref{http://@/www@/.uoregon@/.edu/~koch/texshop/index@/.html,TexShop}
+editor for Mac OS X can be extended to run LilyPond, lilypond-book and
+convert-ly from within the editor, using the extensions available at
+@uref{http://@/www@/.dimi@/.uniud@/.it/vitacolo/freesoftware@/.html}.
+
+
+
+
+@node Point and click
+@section Point and click
+@cindex point and click
+
+
+Point and click lets you find notes in the input by clicking on them
+in the PDF viewer. This makes it easier to find input that causes
+some error in the sheet music.
+
+When this functionality is active, LilyPond adds hyperlinks to the PDF
+file. These hyperlinks are sent to the web-browser, which opens a
+text-editor with the cursor in the right place.
+
+To make this chain work, you should configure your PDF viewer to
+follow hyperlinks using the @file{lilypond-invoke-editor} script
+supplied with LilyPond.
+
+For Xpdf on Unix, the following should be present in
+@file{xpdfrc}@footnote{On unix, this file is found either in
+@file{/etc/xpdfrc} or as @file{.xpdfrc} in your home directory.}
+
+@example
+urlCommand "lilypond-invoke-editor %s"
+@end example
+
+The program @file{lilypond-invoke-editor} is a small helper
+program. It will invoke an editor for the special @code{textedit}
+URIs, and run a web browser for others. It tests the environment
+variable @code{EDITOR} for the following patterns,
+
+@table @code
+@item emacs
+ this will invoke
+@example
+emacsclient --no-wait +@var{line}:@var{column} @var{file}
+@end example
+@item vim
+ this will invoke
+@example
+gvim --remote +:@var{line}:norm@var{char} @var{file}
+@end example
+
+@item nedit
+this will invoke
+@example
+ nc -noask +@var{line} @var{file}'
+@end example
+@end table
+
+The environment variable @code{LYEDITOR} is used to override this. It
+contains the command line to start the editor, where @code{%(file)s},
+@code{%(column)s}, @code{%(line)s} is replaced with the file, column
+and line respectively. The setting
+
+@example
+emacsclient --no-wait +%(line)s:%(column)s %(file)s
+@end example
+
+@noindent
+for @code{LYEDITOR} is equivalent to the standard emacsclient
+invocation.
+
+
+@cindex file size, output
+
+The point and click links enlarge the output files significantly. For
+reducing the size of PDF and PS files, point and click may be switched
+off by issuing
+
+@example
+#(ly:set-option 'point-and-click #f)
+@end example
+
+@noindent
+in a @file{.ly} file. Alternately, you may pass this as an command-line
+option
+
+@example
+lilypond -dno-point-and-click file.ly
+@end example
+