]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/running.itely
Merge branch 'master' of ssh+git://hanwen@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / Documentation / user / running.itely
index 81b6751d201504689584d8c512013e1471768b50..981e71867a5d2fcd8e5c7a418361215b82bf3a57 100644 (file)
@@ -1,5 +1,12 @@
 @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
@@ -87,11 +94,87 @@ on the command-line, and include
 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
@@ -130,36 +213,20 @@ This mode is used by default by lilypond-book.
 @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.
@@ -185,7 +252,7 @@ Generate PostScript.
 
 @item --dvi
 Generate DVI files.  In this case, the @TeX{} backend should be
-specified, i.e., @code{-tex}.
+specified, i.e., @code{-dbackend=tex}.
 
 @item --png
 Generate pictures of each page, in PNG format.  This implies
@@ -197,50 +264,6 @@ 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}
@@ -319,11 +342,11 @@ Show the warranty with which GNU LilyPond comes. (It comes with
 
 
 @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.
@@ -356,11 +379,36 @@ invoking them directly, e.g.
 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
@@ -403,6 +451,12 @@ To upgrade LilyPond fragments in texinfo files, use
 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
@@ -532,59 +586,18 @@ converted.
 @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
@@ -700,12 +713,14 @@ installation instructions.
 @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