@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
+@ignore
+ Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
+
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. See TRANSLATION for details.
+@end ignore
+
@node Running LilyPond
@chapter Running LilyPond
This chapter details the technicalities of running LilyPond.
Some of these commands are run from the command-line. By
-``command-line'', we mean the command
+@q{command-line}, we mean the command
line in the operating system. Windows users
-might be more familiar with the terms ``DOS shell'' or
-``command shell''; OSX users might be more familiar with the
-terms ``terminal'' or ``console''. OSX users should also
+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{Notes for the MacOS X app}.
Describing how to use
at the top of the @code{.ly} file.
@item -f,--format=@var{format}
-which formats should be written. Choices are @code{svg}, @code{ps},
-@code{pdf}, @code{png}, @code{tex}, @code{dvi}.
+which formats should be written. Choices for @code{format} are
+@code{svg}, @code{ps}, @code{pdf}, @code{png}, @code{tex}, @code{dvi}.
+
+Example: @code{lilypond -fpng filename.ly}
+
+
+
+@item -d,--define-default=@var{var}=@var{val}
+This sets the internal program option @var{var} to the Scheme value
+@var{val}. If @var{val} is not supplied, then @var{#t} is used. To
+switch off an option, @code{no-} may be prefixed to @var{var}, e.g.
+
+@cindex point and click, command line
+
+@example
+-dno-point-and-click
+@end example
+
+@noindent
+is the same as
+@example
+-dpoint-and-click='#f'
+@end example
+
+Here are a few interesting options.
+
+@table @samp
+@item help
+Running @code{lilypond -dhelp} will print all of the @code{-d} options
+available.
+
+@item 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{\"} ).
+
+
+@item safe
+Do not trust the @code{.ly} input.
-@item -b,--backend=@var{format}
-the output format to use for the back-end. Choices are
+When LilyPond formatting is available through a web server, either the
+@code{--safe} or the @code{--jail} option @b{MUST} be passed. The
+@code{--safe} option will prevent inline Scheme code from wreaking
+havoc, for example
+
+@quotation
+@verbatim
+#(system "rm -rf /")
+{
+ c4^#(ly:export (ly:gulp-file "/etc/passwd"))
+}
+@end verbatim
+@end quotation
+
+The @code{-dsafe} option works by evaluating in-line Scheme
+expressions in a special safe module. This safe module is derived from
+GUILE @file{safe-r5rs} module, but adds a number of functions of the
+LilyPond API. These functions are listed in @file{scm/@/safe@/-lily@/.scm}.
+
+In addition, safe mode disallows @code{\include} directives and
+disables the use of backslashes in @TeX{} strings.
+
+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
+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
+CPU and memory usage.
+
+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.
+
+@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
@cindex Scheme dump
@end table
-@cindex output format, setting
-
-@item -d,--define-default=@var{var}=@var{val}
-This sets the internal program option @var{var} to the Scheme value
-@var{val}. If @var{val} is not supplied, then @var{#t} is used. To
-switch off an option, @code{no-} may be prefixed to @var{var}, e.g.
-
-@cindex point and click, command line
+Example: @code{lilypond -dbackend=svg filename.ly}
-@example
--dno-point-and-click
-@end example
+@cindex output format, setting
-@noindent
-is the same as
-@example
--dpoint-and-click='#f'
-@end example
+@item preview
+Generate an output file containing the titles and the first system
-Another notable option is
+@item print-pages
+Generate the full pages, the default. @code{-dno-print-pages} is
+useful in combination with @code{-dpreview}.
-@example
--dpaper-size=\"letter\"
-@end example
+@end table
-@noindent
-Note that the string must be enclosed in escaped quotes ( @code{\"} ).
-Setting the @code{-dhelp} option will print a summary of the options
-available, and exit.
@item -h,--help
Show a summary of usage.
@item --dvi
Generate DVI files. In this case, the @TeX{} backend should be
-specified, i.e., @code{-b tex}.
+specified, i.e., @code{-dbackend=tex}.
@item --png
Generate pictures of each page, in PNG format. This implies
@item --pdf
Generate PDF. This implies @code{--ps}.
-@item --preview
-Generate an output file containing the titles and the first system
-
-@item --no-pages
-Do not generate the full pages. Useful in combination with
-@code{--preview}.
-
-@item -s,--safe
-Do not trust the @code{.ly} input.
-
-When LilyPond formatting is available through a web server, either the
-@code{--safe} or the @code{--jail} option @b{MUST} be passed. The
-@code{--safe} option will prevent inline Scheme code from wreaking
-havoc, for example
-
-@quotation
-@verbatim
-#(system "rm -rf /")
-{
- c4^#(ly:export (ly:gulp-file "/etc/passwd"))
-}
-@end verbatim
-@end quotation
-
-The @code{--safe} option works by evaluating in-line Scheme
-expressions in a special safe module. This safe module is derived from
-GUILE @file{safe-r5rs} module, but adds a number of functions of the
-LilyPond API. These functions are listed in @file{scm/@/safe@/-lily@/.scm}.
-
-In addition, @code{--safe} disallows @code{\include} directives and
-disables the use of backslashes in @TeX{} strings.
-
-In @code{--safe} mode, it is not possible to import LilyPond variables
-into Scheme.
-
-@code{--safe} 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 CPU and memory usage.
-
-Note that @code{--safe} will prevent many useful LilyPond snippets from
-being compiled. For a softer but secure alternative you can use the
-@code{--jail} option.
@item -j,--jail=@var{user},@var{group},@var{jail},@var{dir}
@cindex LANG
-@cindex LILYPONDPREFIX
+@cindex LILYPOND_DATADIR
@code{Lilypond} recognizes the following environment variables:
@table @code
-@item LILYPONDPREFIX
+@item LILYPOND_DATADIR
This specifies a directory where locale messages and
data files will be looked up by default. The directory should contain
subdirectories called @file{ly/}, @file{ps/}, @file{tex/}, etc.
The same is true of the other scripts in that directory, including
lilypond-book, convert-ly, abc2ly, etc.
-Alternatively, you may add this directory to your path. Modify (or create)
+Alternatively, you may create scripts which add the path
+automatically. Create a directory to store these scripts,
+
+@example
+mkdir -p ~/bin
+cd ~/bin
+@end example
+
+Create a file called @code{lilypond} which contains
+
+@example
+exec @var{path/to}/LilyPond.app/Contents/Resources/bin/lilypond "$@@"
+@end example
+
+Create similar files @code{lilypond-book}, @code{convert-ly}, and
+any other helper programs you use (@code{abc2ly}, @code{midi2ly},
+etc). Simply replace the @code{bin/lilypond} with
+@code{bin/convert-ly} (or other program name) in the above file.
+
+Make the file executable,
+
+@example
+chmod u+x lilypond
+@end example
+
+Now, add this directory to your path. Modify (or create)
a file called @code{.profile} in your home directory such that it contains
@example
-export PATH=$PATH:@var{path/to}/LilyPond.app/Contents/Resources/bin
+export PATH=$PATH:~/bin
@end example
@noindent
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
+
To upgrade many files at once, combine @code{convert-ly} with
standard unix commands. This example will upgrade all @code{.ly}
files in the current directory
@cindex reporting bugs
If you have input that results in a crash or an erroneous output, then
-that is a bug. We try to respond to bug-reports promptly, and fix them as
-soon as possible. Help us by sending a defective input file, so we can
-reproduce the problem. Send the report via:
-
-@example
-@uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs}
-@end example
-
-A few tips:
-@itemize @bullet
-
-@item Try to produce a very small input file which demonstrates the problem;
-one or two bars is often sufficient to reproduce a bug. The smaller the
-input file is, the easier it is for us to debug the problem.
-
-@item Don't forget to tell which version of LilyPond you use!
+that is a bug. There is a list of current bugs on our google bug tracker,
-@item If possible, use @code{ragged-right} in your example. This makes sure
-that the bug can be reproduced in all paper sizes.
-@end itemize
+@uref{http://code.google.com/p/lilypond/issues/list}
-@ignore
-@c the bug database is not up to date enough.
-
-When you've found a bug, have a look at our
-@uref{http://@/lilypond@/.org/@/bugs/@/v2.8/@/,bug database} to see if
-it has already been reported. You could also try to do a few searches
-on the mailing list for the bug. Sometimes the bug will have already
-been reported and a fix or workaround is already known.
-@end ignore
+If you have discovered a bug which is not listed, please report the
+bug by following the directions on
-Here is an example of a good bug report:
-
-@verbatim
-It seems that placement of accidentals is broken. In the
-following example, the accidental touches the note head.
+@uref{http://lilypond.org/web/devel/participating/bugs}
-Using Mac OSX 10.3.7, lilypond 2.7.32
+Please construct submit @ref{Minimal examples} of bug reports. We do not
+have the resources to investigate reports which are not as small as possible.
-\version "2.9.13"
-\layout { ragged-right = ##t }
-\relative c'' {
- a4 b cis d
-}
-@end verbatim
-
-@lilypond[quote]
-\layout { ragged-right = ##t }
-\relative c''{
- \override Accidental #'extra-offset = #'(1.0 . 0)
- a4 b cis d
-}
-@end lilypond
@node Error messages
@section Error messages
@end ifnothtml
-@item JEdit
+@item LilyPondTool
-The @uref{http://@/www@/.jedit@/.org@/,jEdit} editor has a LilyPond plugin.
-This plugin includes a DVI viewer, integrated help and viewing via
-GhostScript. It can be installed by doing @key{Plugins > Plugin
-Manager}, and selecting @code{LilyTool} from the @key{Install} tab.
+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