@node Invoking LilyPond @chapter Invoking LilyPond @cindex Invoking LilyPond @cindex command line options @cindex options, command line @cindex switches @example lilypond [OPTION]... [FILE]... @end example @unnumberedsec Options @table @code @item -e,--evaluate=@var{code} Evaluates the Scheme @var{code} before parsing @file{.ly} files. Multiple @code{-e} options may be given. They will be evaluated sequentially. @item -f,--format=@var{format} Output format for sheet music. Choices are tex (for @TeX{} output), ps (for PostScript), scm (for a Scheme dump), and as (for ASCIIScript). @c TODO: TFMFONTS For processing both the @TeX{} and the PostScript output, you must have appropriate environment variables set. For @TeX{}, you have to set @code{MFINPUTS} and @code{TEXINPUTS} to point to the directory containing LilyPond metafont and .tex files. For processing the PostScript with Ghostscript, you have to set @code{GS_FONTPATH} to point to the directory containing LilyPond @file{pfa} files. Scripts to do this are included in @file{buildscripts/out/lilypond-profile} (for sh shells) and @file{buildscripts/out/lilypond-login} (for C-shells), and should normally be run as part of your login process. @item -h,--help Show a summary of usage. @item --include, -I=DIRECTORY Add @file{DIRECTORY} to the search path for input files. @cindex file searching @cindex search path @item -i,--init=FILE Set init file to @file{FILE} (default: @file{init.ly}). @item -m,--no-paper @cindex MIDI Disable @TeX{} output. If you have a @code{\midi} definition, it will do the midi output only. @item -M,--dependencies Output rules to be included in Makefile. @item -o,--output=FILE Set the default output file to @file{FILE}. @item -s,--safe Disallow untrusted @code{\include} directives, in-line Scheme evaluation, backslashes in @TeX{}, code. @strong{WARNING}: the @code{--safe} option has not been reviewed for a long time; do not rely on it for automatic invocation (e.g. over the web). Volunteers are welcome to do a new audit. @item -v,--version Show version information @item -V,--verbose Be verbose @item -w,--warranty Show the warranty with which GNU LilyPond comes. (It comes with @strong{NO WARRANTY}!) @end table When invoked with a filename that has no extension, LilyPond will try adding `@file{.ly}' as an extension first. When LilyPond processes @file{filename.ly} 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 LilyPond will output the rest in numbered files, starting with @file{filename-1.tex}. Several files can be specified; they will each be processed independently. @footnote{The status of GUILE is not reset across invocations, so be careful not to change any default settings from within Scheme .} @section Environment variables @table @code @item LILYINCLUDE additional directories for finding lilypond data. The format is like the format of @file{PATH}. @item LILYPONDPREFIX 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. @item LANG selects the language for the warning messages of LilyPond. @end table