]> git.lyx.org Git - lyx.git/blobdiff - lib/examples/lilypond.lyx
Update the lilypond module to use the Argument machinery.
[lyx.git] / lib / examples / lilypond.lyx
index ecc20e54ad6b5a35ab253a527bd30d07bab3848b..09df0a3fc5e152ebb10ca4127ae2fc629d6fa3c4 100644 (file)
@@ -1,5 +1,5 @@
-#LyX 2.0 created this file. For more info see http://www.lyx.org/
-\lyxformat 413
+#LyX 2.1 created this file. For more info see http://www.lyx.org/
+\lyxformat 459
 \begin_document
 \begin_header
 \textclass article
@@ -12,16 +12,16 @@ lilypond
 \language_package default
 \inputencoding auto
 \fontencoding global
-\font_roman default
-\font_sans default
-\font_typewriter default
+\font_roman lmodern
+\font_sans lmss
+\font_typewriter lmtt
+\font_math auto
 \font_default_family default
 \use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
-
 \graphics default
 \default_output_format default
 \output_sync 0
@@ -31,27 +31,36 @@ lilypond
 \spacing single
 \use_hyperref true
 \pdf_title "LilyPond-book and LyX"
-\pdf_author "Julien Rioux"
+\pdf_author "The LyX Team"
 \pdf_bookmarks true
-\pdf_bookmarksnumbered false
-\pdf_bookmarksopen false
+\pdf_bookmarksnumbered true
+\pdf_bookmarksopen true
 \pdf_bookmarksopenlevel 1
 \pdf_breaklinks false
 \pdf_pdfborder false
-\pdf_colorlinks false
+\pdf_colorlinks true
 \pdf_backref false
-\pdf_pdfusetitle true
+\pdf_pdfusetitle false
+\pdf_quoted_options "linkcolor=blue,urlcolor=blue,pdfstartview=XYZ"
 \papersize default
 \use_geometry true
-\use_amsmath 1
-\use_esint 1
-\use_mhchem 1
-\use_mathdots 1
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 0
+\use_package mhchem 1
+\use_package stackrel 0
+\use_package stmaryrd 0
+\use_package undertilde 0
 \cite_engine basic
+\cite_engine_type numerical
+\biblio_style plain
 \use_bibtopic false
 \use_indices false
 \paperorientation portrait
 \suppress_date true
+\justification true
 \use_refstyle 0
 \index Index
 \shortcut idx
@@ -63,8 +72,8 @@ lilypond
 \bottommargin 2cm
 \secnumdepth 3
 \tocdepth 3
-\paragraph_separation skip
-\defskip smallskip
+\paragraph_separation indent
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 1
@@ -83,22 +92,81 @@ LilyPond-book and LyX
 \end_layout
 
 \begin_layout Author
-Julien Rioux
+The LyX Team
+\end_layout
+
+\begin_layout Date
+Version 2.1.x
 \end_layout
 
 \begin_layout Abstract
-This is an example file demonstrating the inclusion of musical snippets
- in a LyX document, using the LilyPond music notation and the LilyPond-book
- utility for processing.
+This document explains and demonstrates the inclusion of musical snippets
+ in a LyX document, using the LilyPond syntax for music notation and the
+ LilyPond-book utility for processing.
+\end_layout
+
+\begin_layout Section
+Introduction
+\end_layout
+
+\begin_layout Standard
+LilyPond is an open-source project that renders possible the creation of
+ beautiful computer-generated musical scores.
+ The project consists of a text-based music notation language, and a program
+ to process this notation into musical scores.
+\end_layout
+
+\begin_layout Standard
+While LilyPond itself supports the display of title, author information,
+ footnotes, endnotes, etc., its primary focus is on music typesetting.
+ For text typesetting, other programs are generally better suited.
+ LilyPond-book is an utility provided by the LilyPond project that helps
+ incorporate musical scores using the LilyPond notation into LaTeX documents,
+ among other formats.
+\end_layout
+
+\begin_layout Standard
+This document describes the use of the LilyPond music notation within LyX
+ documents that use a LaTeX-based layout, thus combining the beauty and
+ quality of the typesetting achieved by both LaTeX and LilyPond.
+ While a basic understanding of the LilyPond syntax for music notation is
+ in order, knowledge of LaTeX is not necessary when using LyX.
+\end_layout
+
+\begin_layout Standard
+Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Using-LilyPond-code"
+
+\end_inset
+
+ explains the requirements, usage instructions, and shortcomings of LilyPond
+ music notation within LyX.
+ Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:LilyPond-examples"
+
+\end_inset
+
+ demonstrates the beauty and quality of the typesetting with a few examples.
 \end_layout
 
 \begin_layout Section
 Using LilyPond code within LyX
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Using-LilyPond-code"
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Standard
-Support for LilyPond constructs (LilyPond code) within LyX is enabled by
- adding the LilyPond module to your document.
+Support for LilyPond music notation (LilyPond code) within LyX is enabled
by adding the LilyPond module to your document.
  This is done from the menu 
 \family sans
 Document\SpecialChar \menuseparator
@@ -106,10 +174,10 @@ Settings
 \family default
 , then selecting LilyPond in the list of modules.
  You can use any LaTeX-based LyX layout and use the regular preview and
- export mechanism; LyX will take care of processing the LaTeX code through
- LilyPond-book for you.
- LilyPond-book can also handle DocBook documents but LilyPond-DocBook support
in LyX is missing at the moment.
+ export mechanism; LyX will take care of processing the mixed LaTeX/LilyPond
code through LilyPond-book for you.
+ LilyPond-book can also handle DocBook and HTML documents, but the integration
of these document types with LilyPond-book and LyX is missing at the moment.
 \end_layout
 
 \begin_layout Subsection
@@ -117,7 +185,7 @@ Requirements
 \end_layout
 
 \begin_layout Standard
-LilyPond-book version 2.13 or newer
+LilyPond-book version 2.13 or newer.
 \begin_inset Foot
 status collapsed
 
@@ -166,6 +234,20 @@ status open
 
 \begin_layout Plain Layout
 
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+staffsize=28
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
 
 \backslash
 relative c'' {
@@ -187,13 +269,18 @@ relative c'' {
 \end_layout
 
 \begin_layout Standard
+\noindent
 The previous LyX inset produces the following LaTeX-lookalike code:
 \end_layout
 
 \begin_layout LyX-Code
 
 \backslash
-begin{lilypond}
+begin{lilypond}[staffsize=28]
+\end_layout
+
+\begin_layout LyX-Code
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -217,36 +304,72 @@ end{lilypond}
 \end_layout
 
 \begin_layout Standard
-This code is not, in fact, processed by LaTeX, but is preprocessed by LilyPond-b
-ook, which creates the graphics files and include them in the LaTeX document
- by replacing the above with 
+What appear first inside square brackets are options to pass to LilyPond-book.
+ This is inserted in LyX from the 
+\family sans
+Insert
+\family default
+ menu, in the same way that the LilyPond inset itself is inserted.
+ Here, we set the dimension of the staff to 28
+\begin_inset space \thinspace{}
+\end_inset
+
+pt.
+ Other options can be added by separating them by a comma, for example:
+\family typewriter
+[staffsize=28,verbatim]
+\family default
+.
+ A list of music fragment options is available in the LilyPond documentation.
+ This whole block can be omitted when the default settings are desired.
+\end_layout
+
+\begin_layout Standard
+What follows after the options block is the textual representation in LilyPond
+ syntax of a musical fragment.
+ This code is not, in fact, processed by LaTeX, but is preprocessed by LilyPond-
+book, which creates the graphics files and includes them in the LaTeX document
+ by replacing the above with a 
 \family typewriter
 
 \backslash
 includegraphics{\SpecialChar \ldots{}
 }
 \family default
-.
+ command.
 \end_layout
 
 \begin_layout Standard
-Thus, the conversion path is as follow: 
+Thus, the conversion process is as follow: 
 \family sans
 LyX\SpecialChar \menuseparator
 LilyPond-book\SpecialChar \menuseparator
 LaTeX
 \family default
 .
+ LyX creates a .lytex file, LilyPond-book creates a .tex files and the accompanyin
+g image files, and LaTeX creates the final document.
  Every step of the tool chain obeys your spacing, so whether you put the
- musical extract in line, or in its own paragraph, centered, left-aligned,
+ musical extract inline, or in its own paragraph, centered, left-aligned,
  etc., what you see in the LyX window should be respected in the final format.
- An example of in-line use may be to display a chord name, such as
+ An example of inline use may be to display a chord name, such as
 \begin_inset Flex LilyPond
 status open
 
 \begin_layout Plain Layout
 
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+
+staffsize=12
+\end_layout
 
+\end_inset
+
 \backslash
 markup { 
 \backslash
@@ -317,12 +440,19 @@ relative c'' {
 Unfortunately, you might find that the preview isn't exactly instantaneous.
  You need to move the cursor out of the Preview inset to start compilation,
  and processing time can take a few seconds.
+ Nevertheless, the direct feedback is often worthwhile during editing, and
+ renders the navigation through the document much easier.
 \end_layout
 
 \begin_layout Subsection
 Gotchas
 \end_layout
 
+\begin_layout Standard
+A few gotchas that have been experienced with the integration of LilyPond-book
+ and LyX are reported here.
+\end_layout
+
 \begin_layout Subsubsection
 Child documents
 \end_layout
@@ -499,12 +629,19 @@ score given
 
 \end_layout
 
+\begin_layout Standard
+Writing the notes directly within braces without using any LilyPond command
+ is convenient when writing short snippets.
+ Advanced users will probably want to enter their musical content using
+ LilyPond variables and commands, which is of course supported.
+\end_layout
+
 \begin_layout Subsubsection
 Fret diagrams
 \end_layout
 
 \begin_layout Standard
-Another gotcha is with subsequent lilypond snippets with 
+Another gotcha is with subsequent LilyPond snippets with 
 \family typewriter
 
 \backslash
@@ -560,10 +697,55 @@ end{lilypond}
 \begin_layout Standard
 For some reason LilyPond-book version 2.13 barks on this when run in safe
  mode (which you always should use, unless you know what you are doing).
+ This has been corrected as of version 2.15 (was LilyPond issue #1900).
+\end_layout
+
+\begin_layout Subsubsection
+The 
+\family typewriter
+
+\backslash
+lilypondfile
+\family default
+ command
+\end_layout
+
+\begin_layout Standard
+LilyPond-book supports including LilyPond code that resides in external
+ files with the 
+\family typewriter
+
+\backslash
+lilypondfile
+\family default
+ command.
+ With this command, the LilyPond code is processed as if it was typed inside
+ the document and the output score follows the typesetting determined by
+ LaTeX with respect to line width, page breaks, and so on.
+ This is in contrast to the long-standing LyX feature to include LilyPond
+ scores as external material, which calls LilyPond on the external file
+ to produce a rigid figure, and includes this figure in the document, leaving
+ the typesetting decisions to LilyPond.
+ Unfortunately, support for the 
+\family typewriter
+
+\backslash
+lilypondfile
+\family default
+ command in LyX is not implemented yet, but it is possible to use it inside
+ a TeX-Code block, provided that one writes the complete, absolute path
+ to the desired file.
 \end_layout
 
 \begin_layout Section
 LilyPond examples
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:LilyPond-examples"
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Standard
@@ -574,7 +756,7 @@ reference "sub:Editorial-headword"
 
 \end_inset
 
- shows a complex example using many LilyPond constructs; some scheme code
+ shows a complex score using many LilyPond constructs; some scheme code
  has been removed from the original source of this snippet, to be able to
  run in safe mode.
  Example 
@@ -1104,6 +1286,7 @@ staccato
 \end_layout
 
 \begin_layout Standard
+\noindent
 [from 
 \begin_inset Flex URL
 status collapsed
@@ -1282,6 +1465,7 @@ lower }
 \end_layout
 
 \begin_layout Standard
+\noindent
 [from 
 \begin_inset Flex URL
 status collapsed