]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/running.itely
Merge branch 'master' of ssh://jneem@git.sv.gnu.org/srv/git/lilypond into tmp
[lilypond.git] / Documentation / user / running.itely
index 88cb790510e2df3fe9657df2493d9196085c5ba3..1addc89ab8e900d1e1c5144c52d7e625ce122a23 100644 (file)
@@ -7,6 +7,8 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c \version "2.11.61"
+
 
 @node Running LilyPond
 @chapter Running LilyPond
 
 @node Running LilyPond
 @chapter Running LilyPond
 This chapter details the technicalities of running LilyPond.
 
 @menu
 This chapter details the technicalities of running LilyPond.
 
 @menu
-* Normal usage::                
-* Command-line usage::          
-* Error messages::              
-* Updating files with convert-ly::  
-* Reporting bugs::              
+* 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 @ruser{First steps} if
+Most users run LilyPond through a GUI; see @rlearning{First steps} if
 you have not read this already.
 
 
 you have not read this already.
 
 
@@ -39,24 +41,30 @@ 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}; OSX users might be more familiar with the terms
-@q{terminal} or @q{console}.  OSX users should also consult @ref{MacOS X
-on the command-line}.
+@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}.
 
 Describing how to use this part of an operating system is outside the
 scope of this manual; please consult other documentation on this topic
 if you are unfamiliar with the command-line.
 
 
 Describing how to use this part of an operating system is outside the
 scope of this manual; please consult other documentation on this topic
 if you are unfamiliar with the command-line.
 
+@menu
+* Invoking lilypond::
+* Command line options for lilypond::
+* Environment variables::
+@end menu
 
 
-@subsection Invoking lilypond
+@node Invoking lilypond
+@subsection Invoking @command{lilypond}
 
 
-@cindex Invoking LilyPond
-@cindex command line options
+@cindex Invoking @command{lilypond}
+@cindex command line options for @command{lilypond}
 @cindex options, command line
 @cindex switches
 
 
 @cindex options, command line
 @cindex switches
 
 
-The @code{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{}
@@ -67,32 +75,32 @@ When invoked with a filename that has no extension, the @file{.ly}
 extension is tried first.  To read input from stdin, use a
 dash (@code{-}) for @var{file}.
 
 extension is tried first.  To read input from stdin, use a
 dash (@code{-}) for @var{file}.
 
-When @file{filename.ly} is processed it will produce
-@file{filename.tex} as output (or @file{filename.ps} for PostScript
-output).  If @file{filename.ly} contains more than one @code{\score}
-block, then the rest of the scores will be output in numbered files,
-starting with @file{filename-1.tex}.  Several files can be specified;
+When @file{filename.ly} is processed it will produce @file{filename.ps}
+and @file{filename.pdf} as output.  Several files can be specified;
 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.}
 
 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.}
 
-In addition, the value of @code{output-suffix} will be inserted between
-the basename and the number.  An input file containing 
+If @file{filename.ly} contains more than one @code{\score}
+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
+number.  An input file containing
 
 @example
 #(define output-suffix "violin")
 
 @example
 #(define output-suffix "violin")
-\book @{ @dots{} @} 
+\book @{ @dots{} @}
 #(define output-suffix "cello")
 #(define output-suffix "cello")
-\book @{ @dots{} @} 
+\book @{ @dots{} @}
 @end example
 
 @noindent
 @end example
 
 @noindent
-will output @var{base}@file{-violin.ps} and
-@var{base}@file{-cello-1.ps}.
-
+will output @var{base}@file{-violin.pdf} and
+@var{base}@file{-cello-1.pdf}.
 
 
 
 
-@subsection Command line options
+@node Command line options for lilypond
+@subsection Command line options for @command{lilypond}
 
 The following options are supported:
 
 
 The following options are supported:
 
@@ -122,9 +130,9 @@ at the top of the @code{.ly} file.
 
 @item -f,--format=@var{format}
 which formats should be written.  Choices for @code{format} are
 
 @item -f,--format=@var{format}
 which formats should be written.  Choices for @code{format} are
-@code{svg}, @code{ps}, @code{pdf}, @code{png}, @code{tex}, @code{dvi}.
+@code{svg}, @code{ps}, @code{pdf}, and @code{png}.
 
 
-Example: @code{lilypond -fpng filename.ly}
+Example: @code{lilypond -fpng @var{filename}.ly}
 
 
 
 
 
 
@@ -153,14 +161,14 @@ Running @code{lilypond -dhelp} will print all of the @code{-d} options
 available.
 
 @item paper-size
 available.
 
 @item paper-size
-This option sets the default paper-size, 
+This option sets the default paper-size,
 @example
 -dpaper-size=\"letter\"
 @end example
 
 @noindent
 Note that the string must be enclosed in escaped quotes ( @code{\"} ).
 @example
 -dpaper-size=\"letter\"
 @end example
 
 @noindent
 Note that the string must be enclosed in escaped quotes ( @code{\"} ).
-
+@c Match " in previous line to help context-sensitive editors
 
 @item safe
 Do not trust the @code{.ly} input.
 
 @item safe
 Do not trust the @code{.ly} input.
@@ -190,7 +198,7 @@ disables the use of backslashes in @TeX{} strings.
 In safe mode, it is not possible to import LilyPond variables
 into Scheme.
 
 In safe mode, it is not possible to import LilyPond variables
 into Scheme.
 
-safe does @emph{not} detect resource overuse.  It is still possible to
+@code{-dsafe} does @emph{not} detect resource overuse.  It is still possible to
 make the program hang indefinitely, for example by feeding cyclic data
 structures into the backend.  Therefore, if using LilyPond on a
 publicly accessible webserver, the process should be limited in both
 make the program hang indefinitely, for example by feeding cyclic data
 structures into the backend.  Therefore, if using LilyPond on a
 publicly accessible webserver, the process should be limited in both
@@ -200,20 +208,13 @@ The safe mode will prevent many useful LilyPond snippets from being
 compiled.  The @code{--jail} is a more secure alternative, but
 requires more work to set up.
 
 compiled.  The @code{--jail} is a more secure alternative, but
 requires more work to set up.
 
+@cindex output format, setting
 @item backend
 the output format to use for the back-end.  Choices for @code{format} are
 @table @code
 @item backend
 the output format to use for the back-end.  Choices for @code{format} are
 @table @code
-@item tex
-for @TeX{} output, to be processed with La@TeX{}.  If present, the file
-@file{file.textmetrics} is read to determine text extents.
-@item texstr
-dump text strings to @file{.texstr} file, which can be run through
-(La)@TeX{}, resulting in a @code{.textmetrics} file, which contains the
-extents of strings of text.  @strong{Warning:} this functionality is
-currently missing due to heavy restructuring of the source code.
 @item ps
 @item ps
- for PostScript.
 @cindex PostScript output
 @cindex PostScript output
+ for PostScript.
 
   Postscript files include TTF, Type1 and OTF fonts.  No subsetting of
   these fonts is done.  When using oriental character sets, this can
 
   Postscript files include TTF, Type1 and OTF fonts.  No subsetting of
   these fonts is done.  When using oriental character sets, this can
@@ -224,25 +225,26 @@ currently missing due to heavy restructuring of the source code.
 @file{EPS} file, without fonts, and as one collated @file{EPS} file with
 all pages (systems) including fonts.
 
 @file{EPS} file, without fonts, and as one collated @file{EPS} file with
 all pages (systems) including fonts.
 
-This mode is used by default by lilypond-book.
+This mode is used by default by @command{lilypond-book}.
 
 @item svg
 
 @item svg
+@cindex SVG (Scalable Vector Graphics)
  for SVG (Scalable Vector Graphics).  This dumps every page as a separate
 @file{SVG} file, with embedded fonts.
  for SVG (Scalable Vector Graphics).  This dumps every page as a separate
 @file{SVG} file, with embedded fonts.
-@cindex SVG (Scalable Vector Graphics)
   You need a SVG viewer which supports embedded fonts, or a SVG
   viewer which is able to replace the embedded fonts with OTF fonts.
   You need a SVG viewer which supports embedded fonts, or a SVG
   viewer which is able to 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 in directory
-  @file{PATH/TO/share/lilypond/VERSION/fonts/otf/} to @file{~/.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/}.
 @item scm
 @item scm
- for a dump of the raw, internal Scheme-based drawing commands.
 @cindex Scheme dump
 @cindex Scheme dump
-@end table
+ for a dump of the raw, internal Scheme-based drawing commands.
 
 
-Example: @code{lilypond -dbackend=svg filename.ly}
+@item null
+ do not output a printed score; has the same effect as @code{-dno-print-pages}.
+@end table
 
 
-@cindex output format, setting
+Example: @code{lilypond -dbackend=svg @var{filename}.ly}
 
 @item preview
 Generate an output file containing the titles and the first system
 
 @item preview
 Generate an output file containing the titles and the first system
@@ -258,8 +260,8 @@ useful in combination with @code{-dpreview}.
 @item -h,--help
 Show a summary of usage.
 
 @item -h,--help
 Show a summary of usage.
 
-@item -H,--header=FIELD
-Dump a header field to file BASENAME.FIELD
+@item -H,--header=@var{FIELD}
+Dump a header field to file @file{BASENAME.@var{FIELD}}.
 
 @item --include, -I=@var{directory}
 Add @var{directory} to the search path for input files.
 
 @item --include, -I=@var{directory}
 Add @var{directory} to the search path for input files.
@@ -271,16 +273,11 @@ Set init file to @var{file} (default: @file{init.ly}).
 
 @item -o,--output=@var{FILE}
 Set the default output file to @var{FILE}.  The appropriate
 
 @item -o,--output=@var{FILE}
 Set the default output file to @var{FILE}.  The appropriate
-suffix will be added (ie @code{.pdf} for pdf, @code{.tex}
-for tex, etc).
+suffix will be added (e.g. @code{.pdf} for pdf)
 
 @item --ps
 Generate PostScript.
 
 
 @item --ps
 Generate PostScript.
 
-@item --dvi
-Generate DVI files.  In this case, the @TeX{} backend should be
-specified, i.e., @code{-dbackend=tex}.
-
 @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
@@ -294,19 +291,19 @@ Generate PDF.  This implies @code{--ps}.
 
 
 @item -j,--jail=@var{user},@var{group},@var{jail},@var{dir}
 
 
 @item -j,--jail=@var{user},@var{group},@var{jail},@var{dir}
-Run LilyPond in a chroot jail.
+Run @command{lilypond} in a chroot jail.
 
 The @code{--jail} option provides a more flexible alternative to
 @code{--safe} when LilyPond formatting is available through a web
 server or whenever LilyPond executes externally provided
 sources.
 
 
 The @code{--jail} option provides a more flexible alternative to
 @code{--safe} when LilyPond formatting is available through a web
 server or whenever LilyPond executes externally provided
 sources.
 
-The @code{--jail} option works by changing the root of LilyPond to
+The @code{--jail} option works by changing the root of @command{lilypond} to
 @var{jail} just before starting the actual compilation process.  The user
 and group are then changed to match those provided, and the current
 directory is changed to @var{dir}.  This setup guarantees that it is not
 possible (at least in theory) to escape from the jail.  Note that for
 @var{jail} just before starting the actual compilation process.  The user
 and group are then changed to match those provided, and the current
 directory is changed to @var{dir}.  This setup guarantees that it is not
 possible (at least in theory) to escape from the jail.  Note that for
-@code{--jail} to work LilyPond must be run as root, which is usually
+@code{--jail} to work @command{lilypond} must be run as root, which is usually
 accomplished in a safe way using @command{sudo}.
 
 Setting up a jail is a slightly delicate matter, as we must be sure that
 accomplished in a safe way using @command{sudo}.
 
 Setting up a jail is a slightly delicate matter, as we must be sure that
@@ -324,7 +321,7 @@ mount a loop device.  A separate filesystem also guarantees that LilyPond
 cannot write more space than it is allowed.
 
 @item Setting up a separate user
 cannot write more space than it is allowed.
 
 @item Setting up a separate user
-A separate user and group (say, @samp{lily}/@samp{lily}) with low
+A separate user and group (say, @code{lily}/@code{lily}) with low
 privileges should be used to run LilyPond inside the jail.  There should
 be a single directory writable by this user, which should be passed in
 @var{dir}.
 privileges should be used to run LilyPond inside the jail.  There should
 be a single directory writable by this user, which should be passed in
 @var{dir}.
@@ -364,14 +361,14 @@ Show the warranty with which GNU LilyPond comes. (It comes with
 @strong{NO WARRANTY}!)
 @end table
 
 @strong{NO WARRANTY}!)
 @end table
 
-
+@node Environment variables
 @subsection Environment variables
 
 
 @cindex LANG
 @cindex LILYPOND_DATADIR
 
 @subsection Environment variables
 
 
 @cindex LANG
 @cindex LILYPOND_DATADIR
 
-@code{Lilypond} recognizes the following environment variables:
+@command{lilypond} recognizes the following environment variables:
 @table @code
 @item LILYPOND_DATADIR
 This specifies a directory where locale messages and
 @table @code
 @item LILYPOND_DATADIR
 This specifies a directory where locale messages and
@@ -452,9 +449,9 @@ A line-break is inserted in the offending line to indicate the column
 where the error was found.  For example,
 
 @example
 where the error was found.  For example,
 
 @example
-test.ly:2:19: error: not a duration: 5:
-  @{ c'4 e'5
-             g' @}
+test.ly:2:19: error: not a duration: 5
+  @{ c'4 e'
+           5 g' @}
 @end example
 
 These locations are LilyPond's best guess about where the warning or
 @end example
 
 These locations are LilyPond's best guess about where the warning or
@@ -465,7 +462,7 @@ above the indicated position.
 
 
 @node Updating files with convert-ly
 
 
 @node Updating files with convert-ly
-@section Updating with @command{convert-ly}
+@section Updating files with @command{convert-ly}
 
 @cindex Updating a LilyPond file
 @cindex convert-ly
 
 @cindex Updating a LilyPond file
 @cindex convert-ly
@@ -485,13 +482,19 @@ convert-ly -e myfile.ly
 @end example
 
 @noindent
 @end example
 
 @noindent
-MacOS X users may execute this command under the menu entry
-@samp{Compile > Update syntax}.
+MacOS@tie{}X users may execute this command under the menu entry
+@code{Compile > Update syntax}.
 
 If there are no changes to myfile.ly and file called myfile.ly.NEW
 is created, then myfile.ly is already updated.
 
 
 If there are no changes to myfile.ly and file called myfile.ly.NEW
 is created, then myfile.ly is already updated.
 
-@subsection Command line options
+@menu
+* Command line options for convert-ly::
+* Problems with convert-ly::
+@end menu
+
+@node Command line options for convert-ly
+@subsection Command line options for @command{convert-ly}
 
 @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
 
 @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
@@ -510,7 +513,7 @@ convert-ly --from=... --to=... -s
 @end example
 
 To upgrade many files at once, combine @code{convert-ly} with
 @end example
 
 To upgrade many files at once, combine @code{convert-ly} with
-standard unix commands.  This example will upgrade all @code{.ly}
+standard UNIX commands.  This example will upgrade all @code{.ly}
 files in the current directory
 
 @example
 files in the current directory
 
 @example
@@ -550,16 +553,11 @@ Print usage help.
 @end table
 
 
 @end table
 
 
-@menu
-* Problems with convert-ly::    
-@end menu
-
-
 @node Problems with convert-ly
 @subsection Problems with @code{convert-ly}
 
 Not all language changes are handled.  Only one output option can be
 @node Problems with convert-ly
 @subsection Problems with @code{convert-ly}
 
 Not all language changes are handled.  Only one output option can be
-specified.  Automatically updating scheme and lilypond scheme
+specified.  Automatically updating scheme and LilyPond scheme
 interfaces is quite unlikely; be prepared to tweak scheme code
 manually.
 
 interfaces is quite unlikely; be prepared to tweak scheme code
 manually.
 
@@ -575,7 +573,7 @@ Thus this is just a wishlist, placed here for reference.
  Doesn't always convert figured bass correctly, specifically things like {<
 >}.  Mats' comment on working around this:
    To be able to run convert-ly
  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 occurencies of '{<' to some dummy like '{#'
+   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,
    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,
@@ -625,7 +623,7 @@ converted.
 @cindex reporting bugs
 
 If you have input that results in a crash or an erroneous output, then
 @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,
+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}
 
 
 @uref{http://code.google.com/p/lilypond/issues/list}
 
@@ -634,7 +632,7 @@ bug by following the directions on
 
 @uref{http://lilypond.org/web/devel/participating/bugs}
 
 
 @uref{http://lilypond.org/web/devel/participating/bugs}
 
-Please construct submit @ruser{Minimal examples}, of bug reports.  We do not
+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.
 
 
 have the resources to investigate reports which are not as small as possible.