]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/application/running.itely
Merge branch 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / Documentation / application / running.itely
index dedfac1342162a98c2ce510b546e3b16da39819c..966e226b62137b301e44bde9fbee27a389629f72 100644 (file)
@@ -10,8 +10,8 @@
 @c \version "2.12.0"
 
 
 @c \version "2.12.0"
 
 
-@node Running LilyPond
-@chapter Running LilyPond
+@node Running lilypond
+@chapter Running @command{lilypond}
 
 This chapter details the technicalities of running LilyPond.
 
 
 This chapter details the technicalities of running LilyPond.
 
@@ -19,18 +19,14 @@ This chapter details the technicalities of running LilyPond.
 * Normal usage::
 * Command-line usage::
 * Error messages::
 * Normal usage::
 * Command-line usage::
 * Error messages::
-* Updating files with convert-ly::
-* Reporting bugs::
 @end menu
 
 
 @node Normal usage
 @section Normal usage
 
 @end menu
 
 
 @node Normal usage
 @section Normal usage
 
-Most users run LilyPond through a GUI; see 
-FIXME FIXME FIXME
-@c @rlearning{First steps} if
-you have not read this already.
+Most users run LilyPond through a GUI; see @rlearning{First steps}
+if you have not read this already.
 
 
 @node Command-line usage
 
 
 @node Command-line usage
@@ -43,9 +39,9 @@ as @code{midi2ly}) which are only available on the command-line.
 
 By @q{command-line}, we mean the command line in the operating system.
 Windows users might be more familiar with the terms @q{DOS shell} or
 
 By @q{command-line}, we mean the command line in the operating system.
 Windows users might be more familiar with the terms @q{DOS shell} or
-@q{command shell}; MacOS@tie{}X users might be more familiar with the terms
-@q{terminal} or @q{console}.  They should also consult @ref{Setup
-for MacOS X}.
+@q{command shell} MacOS@tie{}X users might be more familiar with the terms
+@q{terminal} or @q{console}.  Some additional setup is required
+for MacOS@tie{}X users; please see @rgeneral{MacOS X}.
 
 Describing how to use this part of an operating system is outside the
 scope of this manual; please consult other documentation on this topic
 
 Describing how to use this part of an operating system is outside the
 scope of this manual; please consult other documentation on this topic
@@ -58,15 +54,10 @@ if you are unfamiliar with the command-line.
 @end menu
 
 @node Invoking lilypond
 @end menu
 
 @node Invoking lilypond
-@subsection Invoking @command{lilypond}
+@unnumberedsubsec Invoking @command{lilypond}
 
 
-@cindex Invoking @command{lilypond}
-@cindex command line options for @command{lilypond}
-@cindex options, command line
-@cindex switches
-
-
-The @command{lilypond} executable may be called as follows from the command line.
+The @command{lilypond} executable may be called as follows from
+the command line.
 
 @example
 lilypond [@var{option}]@dots{} @var{file}@dots{}
 
 @example
 lilypond [@var{option}]@dots{} @var{file}@dots{}
@@ -83,7 +74,7 @@ they will each be processed independently.  @footnote{The status of
 GUILE is not reset after processing a @code{.ly} file, so be careful
 not to change any system defaults from within Scheme.}
 
 GUILE is not reset after processing a @code{.ly} file, so be careful
 not to change any system defaults from within Scheme.}
 
-If @file{filename.ly} contains more than one @code{\score}
+If @file{filename.ly} contains more than one @code{\book}
 block, then the rest of the scores will be output in numbered files,
 starting with @file{filename-1.pdf}.  In addition, the value of
 @code{output-suffix} will be inserted between the basename and the
 block, then the rest of the scores will be output in numbered files,
 starting with @file{filename-1.pdf}.  In addition, the value of
 @code{output-suffix} will be inserted between the basename and the
@@ -102,7 +93,12 @@ will output @var{base}@file{-violin.pdf} and
 
 
 @node Command line options for lilypond
 
 
 @node Command line options for lilypond
-@subsection Command line options for @command{lilypond}
+@unnumberedsubsec Command line options for @command{lilypond}
+
+@cindex Invoking @command{lilypond}
+@cindex command line options for @command{lilypond}
+@cindex options, command line
+@cindex switches
 
 The following options are supported:
 
 
 The following options are supported:
 
@@ -157,11 +153,15 @@ is the same as
 
 Here are a few interesting options.
 
 
 Here are a few interesting options.
 
+@cindex help, command line
+
 @table @samp
 @item help
 Running @code{lilypond -dhelp} will print all of the @code{-d} options
 available.
 
 @table @samp
 @item help
 Running @code{lilypond -dhelp} will print all of the @code{-d} options
 available.
 
+@cindex paper-size, command line
+
 @item paper-size
 This option sets the default paper-size,
 @example
 @item paper-size
 This option sets the default paper-size,
 @example
@@ -172,6 +172,8 @@ This option sets the default paper-size,
 Note that the string must be enclosed in escaped quotes ( @code{\"} ).
 @c Match " in previous line to help context-sensitive editors
 
 Note that the string must be enclosed in escaped quotes ( @code{\"} ).
 @c Match " in previous line to help context-sensitive editors
 
+@cindex safe, command line
+
 @item safe
 Do not trust the @code{.ly} input.
 
 @item safe
 Do not trust the @code{.ly} input.
 
@@ -223,6 +225,10 @@ the output format to use for the back-end.  Choices for @code{format} are
   lead to huge files.
 
 @item eps
   lead to huge files.
 
 @item eps
+
+@cindex Postscript, encapulated
+@cindex EPS (Encapsulated PostScript)
+
  for encapsulated PostScript.  This dumps every page (system) as a separate
 @file{EPS} file, without fonts, and as one collated @file{EPS} file with
 all pages (systems) including fonts.
  for encapsulated PostScript.  This dumps every page (system) as a separate
 @file{EPS} file, without fonts, and as one collated @file{EPS} file with
 all pages (systems) including fonts.
@@ -230,20 +236,24 @@ all pages (systems) including fonts.
 This mode is used by default by @command{lilypond-book}.
 
 @item svg
 This mode is used by default by @command{lilypond-book}.
 
 @item svg
+
 @cindex SVG (Scalable Vector Graphics)
 @cindex SVG (Scalable Vector Graphics)
+
  for SVG (Scalable Vector Graphics).
 
  for SVG (Scalable Vector Graphics).
 
- This creates a single SVG file containing the entire music
- output, with embedded fonts.  You need an SVG viewer that
- supports embedded fonts, or an SVG viewer that can replace the
embedded fonts with OTF fonts.  Under UNIX, you may use
- @uref{http://www.inkscape.org,Inkscape} (version 0.42 or later),
- after copying the OTF fonts from the LilyPond directory
- (typically @file{/usr/share/lilypond/VERSION/fonts/otf/}) to
@file{~/.fonts/}.
+ This creates a single SVG file, without embedded fonts, for every
+ page of output.  It is recommended to install the Century
+ Schoolbook fonts, included with your LilyPond installation, for
optimal rendering.  Under UNIX, simply copy these fonts from the
+ LilyPond directory (typically
+ @file{/usr/share/lilypond/VERSION/fonts/otf/}) to
+ @file{~/.fonts/}.  The SVG output should be compatible with any
SVG editor or user agent.
 
 @item scm
 
 @item scm
+
 @cindex Scheme dump
 @cindex Scheme dump
+
  for a dump of the raw, internal Scheme-based drawing commands.
 
 @item null
  for a dump of the raw, internal Scheme-based drawing commands.
 
 @item null
@@ -253,6 +263,7 @@ This mode is used by default by @command{lilypond-book}.
 Example: @code{lilypond -dbackend=svg @var{filename}.ly}
 
 @item preview
 Example: @code{lilypond -dbackend=svg @var{filename}.ly}
 
 @item preview
+@cindex preview, command line
 Generate an output file containing the titles and the first system
 
 @item print-pages
 Generate an output file containing the titles and the first system
 
 @item print-pages
@@ -281,9 +292,13 @@ Set init file to @var{file} (default: @file{init.ly}).
 Set the default output file to @var{FILE}.  The appropriate
 suffix will be added (e.g. @code{.pdf} for pdf)
 
 Set the default output file to @var{FILE}.  The appropriate
 suffix will be added (e.g. @code{.pdf} for pdf)
 
+@cindex PostScript output
+
 @item --ps
 Generate PostScript.
 
 @item --ps
 Generate PostScript.
 
+@cindex Portable Network Graphics (PNG) output
+
 @item --png
 Generate pictures of each page, in PNG format.  This implies
 @code{--ps}.  The resolution in DPI of the image may be set with
 @item --png
 Generate pictures of each page, in PNG format.  This implies
 @code{--ps}.  The resolution in DPI of the image may be set with
@@ -291,6 +306,8 @@ Generate pictures of each page, in PNG format.  This implies
 -dresolution=110
 @end example
 
 -dresolution=110
 @end example
 
+@cindex Portable Document Format (PDF) output
+
 @item --pdf
 Generate PDF.  This implies @code{--ps}.
 
 @item --pdf
 Generate PDF.  This implies @code{--ps}.
 
@@ -368,7 +385,7 @@ Show the warranty with which GNU LilyPond comes. (It comes with
 @end table
 
 @node Environment variables
 @end table
 
 @node Environment variables
-@subsection Environment variables
+@unnumberedsubsec Environment variables
 
 
 @cindex LANG
 
 
 @cindex LANG
@@ -409,12 +426,12 @@ However, warnings usually indicate that something is wrong with the
 input file.
 
 @item Error
 input file.
 
 @item Error
+@cindex error
 Something is definitely wrong.  The current processing step (parsing,
 interpreting, or formatting) will be finished, but the next step will
 be skipped.
 
 @item Fatal error
 Something is definitely wrong.  The current processing step (parsing,
 interpreting, or formatting) will be finished, but the next step will
 be skipped.
 
 @item Fatal error
-@cindex error
 @cindex fatal error
 Something is definitely wrong, and LilyPond cannot continue.  This
 happens rarely.  The most usual cause is misinstalled fonts.
 @cindex fatal error
 Something is definitely wrong, and LilyPond cannot continue.  This
 happens rarely.  The most usual cause is misinstalled fonts.
@@ -436,6 +453,7 @@ ignored.  Sometimes, they come in such big quantities that they obscure
 other output.
 
 @item Aborted (core dumped)
 other output.
 
 @item Aborted (core dumped)
+@cindex Aborted (core dumped)
 This signals a serious programming error that caused the program to
 crash.  Such errors are considered critical.  If you stumble on one,
 send a bug-report.
 This signals a serious programming error that caused the program to
 crash.  Such errors are considered critical.  If you stumble on one,
 send a bug-report.
@@ -466,227 +484,6 @@ when something unexpected happens.  If you can't see an error in the
 indicated line of your input file, try checking one or two lines
 above the indicated position.
 
 indicated line of your input file, try checking one or two lines
 above the indicated position.
 
-
-@node Updating files with convert-ly
-@section Updating files with @command{convert-ly}
-
-@cindex Updating a LilyPond file
-@cindex convert-ly
-
-The LilyPond input syntax is routinely changed to simplify it or improve
-it in different ways.  As a side effect of this, the LilyPond interpreter
-often is no longer compatible with older input files.  To remedy this,
-the program @command{convert-ly} can be used to deal with most of the
-syntax changes between LilyPond versions.
-
-@menu
-* Invoking convert-ly::
-* Command line options for convert-ly::
-* Problems with convert-ly::
-@end menu
-
-@node Invoking convert-ly
-@subsection Invoking @command{convert-ly}
-
-@command{convert-ly} uses @code{\version} statements in the input
-file to detect the old version number.  In most cases, to upgrade
-your input file it is sufficient to run
-
-@example
-convert-ly -e myfile.ly
-@end example
-
-@noindent
-in the directory containing the file.  This will upgrade
-@code{myfile.ly} in-place and preserve the original file in
-@code{myfile.ly~}.
-
-To convert all the input files in a directory together use
-
-@example
-convert-ly -e *.ly
-@end example
-
-Alternatively, if you want to specify a different name for the
-upgraded file, preserving the original file and name unchanged,
-use
-
-@example
-convert-ly myfile.ly > mynewfile.ly
-@end example
-
-@command{convert-ly} always converts up to the last syntax change
-handled by it.  This means that the @code{\version} number left in
-the file is usually lower than the version of @command{convert-ly}
-itself.
-
-The program will list the version numbers for which conversions
-have been made.  If no version numbers are listed the file is
-already up to date.
-
-@noindent
-MacOS@tie{}X users may execute these commands under the menu entry
-@code{Compile > Update syntax}.
-
-Windows users should enter these commands in a Command Prompt window,
-which is usually found under
-@code{Start > Accessories > Command Prompt}.
-
-@node Command line options for convert-ly
-@subsection Command line options for @command{convert-ly}
-
-In general, the program is invoked as follows:
-
-@example
-convert-ly [@var{option}]@dots{} @var{filename}@dots{}
-@end example
-
-
-The following options can be given:
-
-@table @code
-@item -e,--edit
-Apply the conversions direct to the input file, modifying it
-in-place.
-
-@item -f,--from=@var{from-patchlevel}
-Set the version to convert from.  If this is not set, @command{convert-ly}
-will guess this, on the basis of @code{\version} strings in the file.
-E.g. @code{--from=2.10.25}
-
-@item -n,--no-version
-Normally, @command{convert-ly} adds a @code{\version} indicator
-to the output.  Specifying this option suppresses this.
-
-@item -s, --show-rules
-Show all known conversions and exit.
-
-@item --to=@var{to-patchlevel}
-Set the goal version of the conversion.  It defaults to the latest
-available version.  E.g. @code{--to=2.12.2}
-
-@item -h, --help
-Print usage help.
-@end table
-
-To upgrade LilyPond fragments in texinfo files, use
-
-@example
-convert-ly --from=... --to=... --no-version *.itely
-@end example
-
-To see the changes in the LilyPond syntax between two versions, use
-
-@example
-convert-ly --from=... --to=... -s
-@end example
-
-
-@node Problems with convert-ly
-@subsection Problems with @code{convert-ly}
-
-When running convert-ly in a Command Prompt window under Windows
-on a file which has spaces in the filename or in the path to it,
-it is necessary to surround the entire input file name with three
-(!) sets of double quotes:
-
-@example
-convert-ly """D:/My Scores/Ode.ly""" > "D:/My Scores/new Ode.ly"
-@end example
-
-If the simple @command{convert-ly -e *.ly} command fails because the
-expanded command line becomes too long, the @command{convert-ly}
-command may be placed in a loop instead.  This example for UNIX
-will upgrade all @code{.ly} files in the current directory
-
-@example
-for f in *.ly; do convert-ly -e $f; done;
-@end example
-
-In the Windows Command Prompt window the corresponding command is
-
-@example
-for %x in (*.ly) do convert-ly -e """%x"""
-@end example
-
-Not all language changes are handled.  Only one output option can be
-specified.  Automatically updating scheme and LilyPond scheme
-interfaces is quite unlikely; be prepared to tweak scheme code
-manually.
-
-@verbatim
-There are a few things that the convert-ly cannot handle.  Here's a list
-of limitations that the community has complained about.
-
-This bug report structure has been chosen because convert-ly has a
-structure that doesn't allow to smoothly implement all needed changes.
-Thus this is just a wishlist, placed here for reference.
-
-1.6->2.0:
- Doesn't always convert figured bass correctly, specifically things like {<
->}.  Mats' comment on working around this:
-   To be able to run convert-ly
-   on it, I first replaced all occurrences of '{<' to some dummy like '{#'
-   and similarly I replaced '>}' with '&}'.  After the conversion, I could
-   then change back from '{ #' to '{ <' and from '& }' to '> }'.
- Doesn't convert all text markup correctly.  In the old markup syntax,
- it was possible to group a number of markup commands together within
-parentheses, e.g.
-   -#'((bold italic) "string")
-   This will incorrectly be converted into
-   -\markup{{\bold italic} "string"}
-   instead of the correct
-   -\markup{\bold \italic "string"}
-2.0->2.2:
- Doesn't handle \partcombine
- Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple
-stanzas.
-2.0->2.4:
- \magnify isn't changed to \fontsize.
-    - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2)
- remove-tag isn't changed.
-    - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
- first-page-number isn't changed.
-    - first-page-number no => print-first-page-number = ##f
- Line breaks in header strings aren't converted.
-    - \\\\  as line break in \header strings => \markup \center-align <
-      "First Line" "Second Line" >
- Crescendo and decrescendo terminators aren't converted.
-    - \rced => \!
-    - \rc => \!
-2.2->2.4:
- \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly
-converted.
-2.4.2->2.5.9
- \markup{ \center-align <{ ... }> } should be converted to:
- \markup{ \center-align {\line { ... }} }
- but now, \line is missing.
-2.4->2.6
- Special LaTeX characters such as $~$ in text are not converted to UTF8.
-2.8
- \score{} must now begin with a music expression.  Anything else
- (particularly \header{}) must come after the music.
-@end verbatim
-
-
-@node Reporting bugs
-@section Reporting bugs
-
-@cindex bugs
-@cindex reporting bugs
-
-If you have input that results in a crash or an erroneous output, then
-that is a bug.  There is a list of current bugs on our Google bug tracker,
-
-@uref{http://code.google.com/p/lilypond/issues/list}
-
-If you have discovered a bug which is not listed, please report the
-bug by following the directions on
-
-@uref{http://lilypond.org/web/devel/participating/bugs}
-
-Please construct and submit minimal examples of bugs in reports.  We do not
-have the resources to investigate reports which are not as small as possible.
-
+More information about errors is given in @ref{Common errors}.