]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/lilypond-book.itely
* Documentation/user/changing-defaults.itely (Paper size): doc
[lilypond.git] / Documentation / user / lilypond-book.itely
index 92f1d8083d30ba63aa816793b1e88f76636b65ea..9602841c59167438ae8f54893b4beb9cbd5d491c 100644 (file)
@@ -12,8 +12,8 @@ TODO: cleanup
 @end ignore
 
 
-@node lilypond-book manual
-@chapter lilypond-book manual
+@node  Integrating text and music
+@chapter Integrating text and music
 
 If you want to add pictures of music to a document, you can simply do
 it the way you would do with other types of pictures.  The pictures
@@ -27,15 +27,13 @@ music.  The line width and font size definitions for the music are
 adjusted to match the layout of your document.
 
 This procedure may be applied to La@TeX{}, @code{html} or Texinfo
-documents.  A tutorial on using lilypond-book is in @ref{Integrating
-text and music}.  For more information about La@TeX{}
-@uref{http://www.ctan.org/tex-archive/info/lshort/english/,The not so
-Short Introduction to LaTeX} provides a introduction to using La@TeX{}.
+documents.
 
 
 
 
 @menu
+* An example of a musicological document::  
 * Integrating Texinfo and music::  
 * Integrating LaTeX and music::  
 * Integrating HTML and music::  
@@ -45,61 +43,129 @@ Short Introduction to LaTeX} provides a introduction to using La@TeX{}.
 
 
 
-@cindex texinfo
-@cindex latex
-@cindex texinfo
-@cindex @code{texi}
-@cindex html
-@cindex documents, adding music to
 
+@node An example of a musicological document
+@section  An example of a musicological document
 
-@node Integrating Texinfo and music
-@section Integrating Texinfo and music
+@cindex musicology
+@cindex La@TeX{}, music in
+@cindex HTML, music in
+@cindex Texinfo, music in
+Some texts contain music examples.  These texts are musicological
+treatises, songbooks or manuals like this.  Such texts can be made by
+hand, simply by importing a PostScript figure into the word processor.
+However, there is an automated procedure to reduce the amount of work
+involved HTML, La@TeX{}, and Texinfo documents.
+
+A script called @code{lilypond-book} will extract the music fragments,
+format them, and put back the resulting notation.  Here we show a
+small example for use with La@TeX{}.  The example also contains explanatory text, so we will
+not comment on it further
+
+@verbatim
+\documentclass[a4paper]{article}
+\begin{document}
+
+Documents for lilypond-book may freely mix music and text.  For
+example,
+
+\begin{lilypond}
+\relative {
+  c2 g'2 \times 2/3 { f8 e d } c'2 g4
+}
+\end{lilypond}
+
+Options are put in brackets.
+
+\begin[fragment,quote,staffsize=26,verbatim]{lilypond}
+  c'4 f16
+\end{lilypond}
 
-Music is specified like this:
+Larger examples can be put in a separate file, and introduced with
+\verb+\lilypondfile+.
+
+\lilypondfile[quote,noindent]{screech-boink.ly}
+
+\end{document}
+@end verbatim
+
+Under Unix, you can view the results as follows
 
 @example
-@@lilypond[options,go,here]
-  YOUR LILYPOND CODE
-@@end lilypond
-@@lilypond[options,go,here]@{ YOUR LILYPOND CODE @}
-@@lilypondfile[options,go,here]@{@var{filename}@}
+cd input/tutorial
+mkdir -p out/
+lilypond-book --output=out/ lilybook.tex
+@emph{lilypond-book (GNU LilyPond) 2.3.11}
+@emph{Reading `input/tutorial/lilybook.tex'}
+@emph{..lots of stuff deleted..}
+@emph{Compiling `out//lilybook.tex'}
+cd out
+latex lilybook
+@emph{lots of stuff deleted}
+xdvi lilybook 
 @end example
 
-When lilypond-book is run on it, this results in a texinfo file. We
-show two simple examples here.  First a complete block:
+To convert the file into a nice PDF document, run the following
+commands
 
 @example
-@@lilypond[staffsize=26]
-  c' d' e' f' g'2 g'
-@@end lilypond
+dvips -Ppdf -u+lilypond -u+ec-mftrace lilybook
+ps2pdf lilybook.ps
 @end example
 
-@noindent
-produces
+Running lilypond-book and running latex creates a lot of temporary
+files, which would clutter up the working directory.  To remedy this,
+use the @code{--output=@var{dir}} option.  It will create the files in
+a separate subdirectory @file{dir}.
+
+Finally the result of the La@TeX{} example shown above.@footnote{ This
+tutorial is processed with Texinfo, so the example is as well.  This
+gives slightly different results in layout.}  This finishes the
+tutorial section.
+
+@page
+
+Documents for lilypond-book may freely mix music and text.  For
+example,
 
 @lilypond
-  c' d' e' f' g'2 g'
+\relative c' {
+  c2 g'2 \times 2/3 { f8 e d } c'2 g4
+}
 @end lilypond
 
-Then the short version:
+Options are put in brackets.
 
-@example
-@@lilypond[staffsize=11]@{<c' e' g'>@}
-@end example
+@lilypond[fragment,quote,staffsize=26,verbatim]
+c'4 f16
+@end lilypond
 
-@noindent
-produces
+Larger examples can be put in a separate file, and introduced with
+@code{\lilypondfile}.
 
-@lilypond[staffsize=11]{ <c' e' g'> }
+@lilypondfile[quote,noindent]{screech-boink.ly}
+
+
+@cindex texinfo
+@cindex latex
+@cindex texinfo
+@cindex @code{texi}
+@cindex html
+@cindex documents, adding music to
 
-When producing texinfo, lilypond-book also generates bitmaps of the
-music, so you can make a HTML document with embedded music.
 
 @c @TeX{} in node name seems to barf
 @node Integrating LaTeX and music
 @section Integrating LaTeX and music
 
+La@TeX{} is the de facto standard for publishing papers in the exact
+sciences. It is built on top of the @TeX{} typesetting engine, so it
+provides the best typography available anywhere.
+For more information about La@TeX{}
+@uref{http://www.ctan.org/tex-archive/info/lshort/english/,The not so
+Short Introduction to La@TeX{}} provides a introduction to using
+La@TeX{}.
 
 For La@TeX{}, music is entered using
 
@@ -135,7 +201,7 @@ We show some examples here:
 @noindent
 produces
 
-@lilypond[staffsize=26]
+@lilypond[fragment,staffsize=26]
   c' d' e' f' g'2 g'2
 @end lilypond
 
@@ -148,13 +214,13 @@ Then the short version:
 @noindent
 produces
 
-@lilypond[staffsize=11]{<c' e' g'>}
+@lilypond[fragment,staffsize=11]{<c' e' g'>}
 
 The linewidth of the music will be adjust by examining the commands in
 the document preamble, the part of the document before
-@code{\begin@{document@}}: @command{lilypond-book} sends these to
-La@TeX{} to find out how wide the text is. The line width variable for
-the music fragments are adjusted to the text width.
+@code{\begin@{document@}}. The @command{lilypond-book} command sends
+these to La@TeX{} to find out how wide the text is. The line width
+for the music fragments is then adjusted to the text width.
 
 After @code{\begin@{document@}}, the column changing commands
 @code{\onecolumn}, @code{\twocolumn} commands
@@ -165,16 +231,8 @@ and the
 are also interpreted.
 
 @cindex titling and lilypond-book
-@cindex lilypond-book and titling
 @cindex @code{\header} in La@TeX{} documents
 
-The titling from the @code{\header} section of the fragments can be
-imported by adding the following to the top of the La@TeX{} file:
-
-@example
-\input titledefs.tex
-\def\preLilyPondExample@{\def\mustmakelilypondtitle@{@}@}
-@end example
 
 The music will be surrounded by @code{\preLilyPondExample} and
 @code{\postLilyPondExample}, which are defined to be empty by default.
@@ -184,11 +242,11 @@ The music will be surrounded by @code{\preLilyPondExample} and
 @cindex dvips
 @cindex invoking dvips
 
-For printing the LaTeX document, you will need to use dvips. For
+For printing the La@TeX{} document, you will need to use dvips. For
 producing PostScript with scalable fonts, add the following options to
 the dvips command line:
 @example
- -Ppdf -u +lilypond.map
+ -Ppdf -u+lilypond.map -u+ec-mftrace.map
 @end example 
 
 @noindent
@@ -197,19 +255,73 @@ PDF can then be produced with @code{ps2pdf}.
 @cindex international characters
 @cindex latin1
 
-LilyPond does not use the LaTeX font handling scheme for lyrics and text
+LilyPond does not use the La@TeX{} font handling scheme for lyrics and text
 markups, so if you use characters in your lilypond-book
 documents that are not included in the standard US-ASCII character set,
 include @code{\usepackage[latin1]@{inputenc@}} in the file 
-header but do not include @code{\usepackage[[T1]@{fontenc@}}. Character
+header but do not include @code{\usepackage[T1]@{fontenc@}}. Character
 sets other than latin1 are not supported directly but may be handled by
 explicitly specifying the @code{font-name} property in LilyPond and
-using the corresponding LaTeX packages. Please consult the mailing list
+using the corresponding La@TeX{} packages. Please consult the mailing list
 for more details.
 
 
 
 
+@node Integrating Texinfo and music
+@section Integrating Texinfo and music
+
+Texinfo is the standard format for documentation at the GNU
+project. An example of a texinfo document is this manual. The HTML,
+PDF and Info versions of the manual are made from the document.
+
+When run on a lilypond-book, produces a @file{.texi} file containing
+@code{@@image} tags for HTML and info. For the printed edition, the
+raw @TeX{} output of LilyPond is included into the main document.
+
+In the input file, music is specified like
+
+@example
+@@lilypond[options,go,here]
+  YOUR LILYPOND CODE
+@@end lilypond
+@@lilypond[options,go,here]@{ YOUR LILYPOND CODE @}
+@@lilypondfile[options,go,here]@{@var{filename}@}
+@end example
+
+When lilypond-book is run on it, this results in a texinfo file. We
+show two simple examples here.  First a complete block:
+
+@example
+@@lilypond[staffsize=26]
+  c' d' e' f' g'2 g'
+@@end lilypond
+@end example
+
+@noindent
+produces
+
+@lilypond[fragment]
+  c' d' e' f' g'2 g'
+@end lilypond
+
+Then the short version:
+
+@example
+@@lilypond[staffsize=11]@{<c' e' g'>@}
+@end example
+
+@noindent
+produces
+
+@lilypond[fragment,staffsize=11]{ <c' e' g'> }
+
+When producing texinfo, lilypond-book also generates bitmaps of the
+music, so you can make a HTML document with embedded music.
+
+
+
+
 
 @node Integrating HTML and music
 @section Integrating HTML and music
@@ -227,12 +339,12 @@ of which lilypond-book will produce a HTML with appropriate image tags for the
 music fragments:
  
 @example
-<lilypond relative=1 verbatim>
+<lilypond relative=2 verbatim>
   \key c \minor r8 c16 b c8 g as c16 b c8 d | g,4
 </lilypond>
 @end example
 
-@lilypond[relative=1]
+@lilypond[fragment,relative=2]
   \key c \minor r8 c16 b c8 g as c16 b c8 d | g,4
 @end lilypond
 
@@ -281,7 +393,7 @@ Sets the staff height to @var{ht}, which is measured in points.
 produces naturally spaced lines (i.e., @code{raggedright = ##t}); this
 works well for small music fragments.
 
-@item linewidth=@var{size}\\@var{unit}
+@item linewidth=@var{size}\@var{unit}
 sets linewidth to @var{size}, where @var{unit} = cm, mm, in, or pt.
 This option affects LilyPond output, not the text layout.
 
@@ -289,11 +401,16 @@ This option affects LilyPond output, not the text layout.
 prevents printing time signature.
 
 @item fragment
-@item nofragment
-overrides @command{lilypond-book} auto detection of what type of code is
-in the LilyPond block, voice contents, or complete code.
+adds some boilerplate code, so you can enter like
+
+@example
+  c'4
+@end example 
+
+@noindent
+without @code{\paper}, @code{\score} or other red tape.
 
-@item indent=@var{size}\\@var{unit}
+@item indent=@var{size}\@var{unit}
 sets indentation of the first music system to @var{size},
 where @var{unit} = cm, mm, in, or pt.  This option affects LilyPond,
 not the text layout.  For single-line fragments, the default is to
@@ -301,7 +418,7 @@ use no indentation.
 
 For example
 @example
-  \begin[indent=\\5cm,raggedright]@{lilypond@}
+  \begin[indent=5\cm,raggedright]@{lilypond@}
   ...
   \end@{lilypond@}
 @end example
@@ -311,6 +428,10 @@ For example
 sets indentation of the first music system to zero.  This option
 affects LilyPond, not the text layout.
 
+@item quote
+sets linewidth to the width of a quotation and puts the output
+in a quotation block.
+
 @item texidoc
 Includes the @code{texidoc} field, if defined in the file. This is
 only for Texinfo output.
@@ -323,12 +444,9 @@ documents are composed from small @file{.ly} files in this way:
   \header @{
     texidoc = "this file demonstrates a single note"
   @}
-  \score @{ \notes @{ c'4 @} @} 
+  @{ c'4 @}
 @end example
 
-@item relative, relative=@var{N}
-uses relative octave mode.  By default, notes are specified relative
-to middle C.  The optional integer argument specifies the octave of the
 @item relative, relative=@var{N}
 uses relative octave mode.  By default, notes are specified relative
 to middle C.  The optional integer argument specifies the octave of the
@@ -364,16 +482,13 @@ fragments in the DVI output only. For getting images in the HTML
 version,  the format 
 @code{texi-html} must be used.
 
-@ignore
-@c broken
 @item @option{-F @var{filter}}, @option{--filter=@var{filter}}
 Pipe snippets through @var{filter}.
 
 For 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
-@end ignore
 
 @item @option{--help}
 Print a short help message.
@@ -386,7 +501,7 @@ Place generated files in @var{dir}.
 
 @item @option{-P @var{process}}, @option{--process=@var{COMMAND}}
 Process lilypond snippets using @var{command}.  The default command is
-@var{lilypond-bin}.
+@code{lilypond}.
 
 @item @option{--verbose}
 Be verbose.
@@ -403,8 +518,6 @@ For La@TeX{} input, the file to give to La@TeX{} has extension
 
 @section Bugs
 
-The La@TeX{} @code{\includeonly@{...@}} command is ignored.
-
 The Texinfo command @code{pagesize} is not interpreted. Almost all
 La@TeX{} commands that change margins and line widths are ignored.