@c -*-texinfo-*- @node ly2dvi @chapter ly2dvi @file{ly2dvi} is a Python script which creates input file for La@TeX{}, based on information from the output files from LilyPond. The script handles multiple files. If a LilyPond file name is specified LilyPond is run to make an output (@TeX{}) file. One or more La@TeX{} files are created, based on information found in the output (@TeX{}) files, and latex is finally run to create one or more DVI files. @subsection Invoking ly2dvi @example ly2dvi [options] inputfile[.ly] [....] @end example @unnumberedsec Options @table @code @item -s,--set=@var{KEY}=@var{VAL} Add @var{key}= @var{val} to the settings, overriding those specified in the files. Possible keys: language, latexheaders, latexpackages, papersizename, pagenumber, linewidth, orientation, textheight. @item -k,--keep Keep the temporary directory including LilyPond and ly2dvi output files. The temporary directory is created in the current directory as @code{ly2dvi.dir}. @item -P,--postscript Generate PostScript in stead of DVI. @item --no-lily Do not run LilyPond; useful for debugging ly2dvi. @item -h,--help Print help. @item -I,--include Add to the lilypond include path. @item -d,--dependencies Make a dependency file for the output. @item --outdir=@var{dir} Generate output (including MIDI files) in @var{dir} @end table @subsection Titling layout Ly2dvi extracts the following header fields from the .ly files to generate titling: @table @code @item title The title of the music. Centered on top of the first page. @item subtitle Subtitle, centered below the title. @item poet Name of the poet, leftflushed below the below subtitle. @item composer Name of the composer, rightflushed below the subtitle. @item metre Meter string, leftflushed below the below poet. @item opus Name of the opus, rightflushed below the below composer. @item arranger Name of the arranger, rightflushed below the opus. @item instrument Name of the instrument, centered below the arranger @item piece Name of the piece, leftflushed below the instrument @end table @subsection Additional parameters Ly2dvi responds to several parameters specified in the LilyPond file. They can be overridden by supplying the @code{--set} command line option. @table @code @item language Specify La@TeX{} language: the @code{babel} package will be included. Default: unset. Read from the @code{\header} block. @item latexheaders Specify additional La@TeX{} headers file. Normally read from the @code{\header} block. Default value: empty @item latexheaders Specify additional La@TeX{} packages file. This works cumulative, so you can add multiple packages using multiple @code{-s=latexpackages} options. Normally read from the @code{\header} block. Default value: @code{geometry}. @item orientation Set orientation. Choices are @code{portrait} or @code{landscape}. Is read from the @code{\paper} block, if set. @cindex @item linewidth Is read from the @code{\paper} block. @item papersizename Specify name of papersize. Is read from the @code{\paper} block. @end table @subsection Bugs Assumes that settings for LilyPond are correct. Assumes that @code{cp} and @code{rm} are in the path. If find something that you consider a bug, please send a bugreport (See @ref{Bug reports}) to @email{bug-gnu-music@@gnu.org}. @subsection Authors @email{hanwen@@cs.uu.nl,Han-Wen Nienhuys}. Earlier incarnations of ly2dvi were written by @email{daboys@@austin.rr.com, Jeffrey B. Reed} (Python version), and @email{Jan.A.Fagertun@@energy.sintef.no, Jan Arne Fagertun} (Bourne shell version)