@quotation
@verbatim
\documentclass[a4paper]{article}
+\usepackage{graphics}
\begin{document}
Documents for @command{lilypond-book} may freely mix music and text.
@example
cd input/tutorial
mkdir -p out/
-lilypond-book --output=out lilybook.tex
-@emph{lilypond-book (GNU LilyPond) 2.5.0}
+lilypond-book --output=out --psfonts lilybook.tex
+@emph{lilypond-book (GNU LilyPond) 2.6.0}
@emph{Reading lilybook.tex...}
@emph{..lots of stuff deleted..}
@emph{Compiling out/lilybook.tex...}
xdvi lilybook
@end example
-To convert the file into a nice PDF document, run the following commands
+To convert the file into a PDF document, run the following commands
@example
-dvips -Ppdf -u+lilypond -u+ec-mftrace lilybook
+dvips -o -Ppdf -h lilybook.psfonts lilybook
ps2pdf lilybook.ps
@end example
remedy this, use the @code{--output=@var{dir}} option. It will create
the files in a separate subdirectory @file{dir}.
+Running dvips will produce many warnings about fonts. They are not
+harmful; please ignore them.
+
Finally the result of the La@TeX{} example shown above.@footnote{This
tutorial is processed with Texinfo, so the example gives slightly
different results in layout.} This finishes the tutorial section.
@end example
Running @command{lilypond-book} yields a file that can be further
-processed with La@TeX{}.
+processed with La@TeX{}. Since @command{lilypond-book} produces
+lilypond snippets as @code{\includegraphics@{NAME.eps@}}, you must
+add
+
+@example
+\usepackage@{graphics@}
+@end example
+
+@noindent
+or
+
+@example
+\usepackage@{graphicx@}
+@end example
+
+@noindent
+to the preamble of the LaTeX document.
We show some examples here. The lilypond environment
@cindex titling and lilypond-book
@cindex @code{\header} in La@TeX{} documents
-Each snippet calls @code{\preLilyPondExample} before and
-@code{\postLilyPondExample} after the music if those macros have been
-defined by the user.
+Each snippet will call the following macros if they have been defined by
+the user:
-@cindex outline fonts
-@cindex type1 fonts
-@cindex dvips
-@cindex invoking dvips
+@code{\preLilyPondExample} called before the music
-For printing the La@TeX{} document you need a DVI to PostScript
-translator like @command{dvips}. For producing PostScript with scalable
-fonts, add the following options to the @command{dvips} command line:
+@code{\postLilyPondExample} called after the music
+
+@code{\betweenLilyPondSystem[1]} is called between systems if
+@code{lilypond-book} has split the snippet into several postscript
+files. It must be defined as taking one parameter and will be
+passed the number of files already included in this snippet.
+
+
+@ignore
+Broken stuff. :(
+
+@cindex Latex, feta symbols
+@cindex fetachar
+
+To include feta symbols (such as flat, segno, etc) in a LaTeX
+document, use @code{\input@{titledefs@}}
@example
--Ppdf -u+lilypond.map -u+ec-mftrace.map
-@end example
+\documentclass[a4paper]@{article@}
-@noindent
-PDF can then be produced with a PostScript to PDF translator like
-@code{ps2pdf} (which is part of GhostScript).
+\input@{titledefs@}
-@cindex international characters
-@cindex latin1
+\begin@{document@}
+\fetachar\fetasharp
-[THE FOLLOWING IS OUT OF DATE. ]
+\end@{document@}
+@end example
-LilyPond does not use the La@TeX{} font handling scheme for lyrics and
-text markups; it uses the EC font family and has limited support for
-selecting an input encoding with the @code{\encoding} keyword if the
-output is directly processed (these limitations primarily affect
-LilyPond's native PostScript output). With @command{lilypond-book}, the
-encoding issues are completely handled by the document which includes
-LilyPond snippets; @command{lilypond} outputs all text strings without
-modification. The drawback is that LilyPond always applies the EC font
-metrics to those strings for computing the locations within the music
-snippets; this often causes unpleasant horizontal (and vertical) shifts.
-With other words, support for encodings other than @w{latin-1} is
-possible but usually yields badly positioned text. Future versions of
-LilyPond will fix this.
+The font symbol names are defined in the file feta20.tex; to find
+the location of this file, use the command
-Since @w{latin-1} is the default encoding for LilyPond markup and lyrics
-it is not necessary to explicitly add @code{\encoding "latin1"} to
-LilyPond snippets. You might also consider the use of @code{\encoding
-"TeX"} instead which basically makes LilyPond skip @TeX{} commands
-(starting with a backslash) and braces in text strings -- it is not
-recommended, though, since LilyPond gives only a rough approximation to
-the real string length.
+@example
+kpsewhich feta20.tex
+@end example
-As a corrolary of the last paragraphs the following two lines should be
-present in the La@TeX{} document preamble
+@end ignore
-[END OUT OF DATE]
+@cindex outline fonts
+@cindex type1 fonts
+@cindex dvips
+@cindex invoking dvips
+
+For printing the La@TeX{} document you need a DVI to PostScript
+translator like @command{dvips}. To use @command{dvips} to produce
+a PostScript file, add the following options to the @command{dvips}
+command line:
@example
-\usepackage[latin1]@{inputenc@}
-\usepackage[T1]@{fontenc@}
+-o -Ppdf -h @var{file}.psfonts
@end example
@noindent
-and real @w{latin-1} characters should be used in LilyPond snippets; for
-example, use @code{ß}, not @code{\ss}.
+where the @var{file}@command{psfonts} file is obtained from
+@command{lilypond-book}, @xref{Invoking lilypond-book} for details. PDF
+can then be produced with a PostScript to PDF translator like
+@code{ps2pdf} (which is part of GhostScript). Running @command{dvips}
+will produce some warnings about fonts; these are harmless and may
+be ignored.
+
+@cindex international characters
+@cindex latin1
@node Integrating Texinfo and music
@code{fragment} option is set, and no line width is explicitly
specified.
+@item packed
+Produce lines with packed spacing (i.e., @code{packed = ##t} is added
+to the LilyPond snippet).
+
@item linewidth
@itemx linewidth=@var{size}\@var{unit}
Set line width to @var{size}, using @var{unit} as units. @var{unit} is
If a LilyPond input file is included with @code{\lilypondfile}, print
the file name right before the music snippet. For HTML output, this is
a link.
+
+@item fontload
+This option includes fonts in all of the generated EPS-files for this
+snippet. This should be used if the snippet uses any font that LaTeX
+cannot find on its own.
+
@end table
output format. Both @file{.tex} and @file{.texi} files need further
processing.
-To produce PDF output from the @file{.tex} file, you should do
+@command{lilypond-book} can also create a PSFONTS file, which is required
+by @command{dvips} to produce Postscript and PDF files. You can call
+this file whatever you want as long as you refer to the same file when
+you call @command{dvips}.
+
+To produce PDF output from the lilypond-book file (here called
+@code{yourfile.lytex}), you should do
@example
+lilypond-book --psfonts yourfile.lytex
latex yourfile.tex
-dvips -Ppdf -u+ec-mftrace.map -u+lilypond.map yourfile.dvi
+dvips -o -h yourfile.psfonts -Ppdf yourfile.dvi
ps2pdf yourfile.ps
@end example
To produce a Texinfo document (in any output format), follow the normal
procedures for Texinfo (this is, either call @command{texi2dvi} or
-@command{makeinfo}, depending on the output format you want to create).
+@command{makeinfo}, depending on the output format you want to
+create).
+@ifinfo
@xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, and @ref{Creating
an Info File, , , texinfo, GNU Texinfo}.
+@end ifinfo
+@ifnotinfo
+See the documentation of Texinfo for further details.
+@end ifnotinfo
+
@command{lilypond-book} accepts the following command line options:
@item -F @var{filter}
@itemx --filter=@var{filter}
-Pipe snippets through @var{filter}.
+Pipe snippets through @var{filter}. @code{lilypond-book} will
+not --filter and --process at the same time.
Example:
@example
-lilypond-book --filter='convert-ly --from=2.0.0' my-book.tely
+lilypond-book --filter='convert-ly --from=2.0.0 -' my-book.tely
@end example
@item -h
@item -P @var{process}
@itemx --process=@var{command}
Process LilyPond snippets using @var{command}. The default command is
-@code{lilypond}.
+@code{lilypond}. @code{lilypond-book} will not --filter and --process
+at the same time.
+
+@itemx --psfonts
+extract all PostScript fonts into @file{@var{file}.psfonts} for dvips.
+This is necessary for @command{dvips -h @var{file}.psfonts}.
@item -V
@itemx --verbose
Only the first @code{\score} of a LilyPond block is processed.
-@c CHECKME--FIXME
-The size of a music block is limited to 1.5 KB, due to technical
-problems with the Python regular expression engine. For longer files,
-use @code{\lilypondfile}.
-
@node Filename extensions
@section Filename extensions