]> 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 affb541b8a0c20af687e0c43549a21d13175249d..966e226b62137b301e44bde9fbee27a389629f72 100644 (file)
@@ -10,8 +10,8 @@
 @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.
 
@@ -19,16 +19,14 @@ This chapter details the technicalities of running LilyPond.
 * Normal usage::
 * Command-line usage::
 * Error messages::
-* Updating files with convert-ly::
-* Reporting bugs::
 @end menu
 
 
 @node Normal usage
 @section Normal usage
 
-Most users run LilyPond through a GUI; see @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
@@ -41,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
-@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
@@ -56,15 +54,10 @@ if you are unfamiliar with the command-line.
 @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{}
@@ -81,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.}
 
-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
@@ -100,7 +93,12 @@ will output @var{base}@file{-violin.pdf} and
 
 
 @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:
 
@@ -155,11 +153,15 @@ is the same as
 
 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.
 
+@cindex paper-size, command line
+
 @item paper-size
 This option sets the default paper-size,
 @example
@@ -170,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
 
+@cindex safe, command line
+
 @item safe
 Do not trust the @code{.ly} input.
 
@@ -221,6 +225,10 @@ the output format to use for the back-end.  Choices for @code{format} are
   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.
@@ -228,20 +236,24 @@ all pages (systems) including fonts.
 This mode is used by default by @command{lilypond-book}.
 
 @item svg
+
 @cindex 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
+
 @cindex Scheme dump
+
  for a dump of the raw, internal Scheme-based drawing commands.
 
 @item null
@@ -251,6 +263,7 @@ This mode is used by default by @command{lilypond-book}.
 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
@@ -279,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)
 
+@cindex PostScript output
+
 @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
@@ -289,6 +306,8 @@ Generate pictures of each page, in PNG format.  This implies
 -dresolution=110
 @end example
 
+@cindex Portable Document Format (PDF) output
+
 @item --pdf
 Generate PDF.  This implies @code{--ps}.
 
@@ -366,7 +385,7 @@ Show the warranty with which GNU LilyPond comes. (It comes with
 @end table
 
 @node Environment variables
-@subsection Environment variables
+@unnumberedsubsec Environment variables
 
 
 @cindex LANG
@@ -407,12 +426,12 @@ However, warnings usually indicate that something is wrong with the
 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
-@cindex error
 @cindex fatal error
 Something is definitely wrong, and LilyPond cannot continue.  This
 happens rarely.  The most usual cause is misinstalled fonts.
@@ -434,6 +453,7 @@ ignored.  Sometimes, they come in such big quantities that they obscure
 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.
@@ -464,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.
 
-
-@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}.