]> git.lyx.org Git - lyx.git/blobdiff - lib/examples/lilypond.lyx
Amend and extend 9f3518bc
[lyx.git] / lib / examples / lilypond.lyx
index ecc20e54ad6b5a35ab253a527bd30d07bab3848b..49af0d03d9cb9d1521671b663888d8966a1e5001 100644 (file)
@@ -1,7 +1,9 @@
-#LyX 2.0 created this file. For more info see http://www.lyx.org/
-\lyxformat 413
+#LyX 2.2 created this file. For more info see http://www.lyx.org/
+\lyxformat 508
 \begin_document
 \begin_header
+\save_transient_properties true
+\origin /systemlyxdir/examples/
 \textclass article
 \use_default_options true
 \begin_modules
@@ -12,16 +14,16 @@ lilypond
 \language_package default
 \inputencoding auto
 \fontencoding global
-\font_roman default
-\font_sans default
-\font_typewriter default
+\font_roman "lmodern" "default"
+\font_sans "lmss" "default"
+\font_typewriter "lmtt" "default"
+\font_math "auto" "auto"
 \font_default_family default
 \use_non_tex_fonts false
 \font_sc false
 \font_osf false
-\font_sf_scale 100
-\font_tt_scale 100
-
+\font_sf_scale 100 100
+\font_tt_scale 100 100
 \graphics default
 \default_output_format default
 \output_sync 0
@@ -31,27 +33,37 @@ 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 cancel 0
+\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 default
+\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 +75,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
@@ -79,37 +91,113 @@ lilypond
 \begin_body
 
 \begin_layout Title
-LilyPond-book and LyX
+LilyPond-book and \SpecialChar LyX
+
 \end_layout
 
 \begin_layout Author
-Julien Rioux
+The \SpecialChar 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 \SpecialChar LyX
+ document, using the LilyPond syntax for music notation and the LilyPond-b
+ook 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 a utility provided by the LilyPond project that helps
+ incorporate musical scores using the LilyPond notation into \SpecialChar LaTeX
+ documents,
+ among other formats.
+\end_layout
+
+\begin_layout Standard
+This document describes the use of the LilyPond music notation within \SpecialChar LyX
+ documents
+ that use a \SpecialChar LaTeX
+-based layout, thus combining the beauty and quality of the
+ typesetting achieved by both \SpecialChar LaTeX
+ and LilyPond.
+ While a basic understanding of the LilyPond syntax for music notation is
+ in order, knowledge of \SpecialChar LaTeX
+ is not necessary when using \SpecialChar 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 \SpecialChar 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
+Using LilyPond code within \SpecialChar 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
+Support for LilyPond music notation (LilyPond code) within \SpecialChar LyX
+ is enabled by
  adding the LilyPond module to your document.
  This is done from the menu 
 \family sans
-Document\SpecialChar \menuseparator
+Document\SpecialChar menuseparator
 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.
+ You can use any \SpecialChar LaTeX
+-based \SpecialChar LyX
+ layout and use the regular preview and export mechanism
+; \SpecialChar LyX
+ will take care of processing the mixed \SpecialChar 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 \SpecialChar LyX
+ is missing at the moment.
 \end_layout
 
 \begin_layout Subsection
@@ -117,14 +205,17 @@ 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
 
 \begin_layout Plain Layout
-LilyPond-book supports LaTeX output since version 2.1.
- However, some features used by LyX are available only in recent versions:
- PDFLaTeX support (version 2.9), the 
+LilyPond-book supports \SpecialChar LaTeX
+ output since version 2.1.
+ However, some features used by \SpecialChar LyX
+ are available only in recent versions:
+ PDF\SpecialChar LaTeX
+ support (version 2.9), the 
 \family typewriter
 --lily-output-dir
 \family default
@@ -147,7 +238,7 @@ Integration
 \begin_layout Standard
 The module provides a LilyPond inset which you insert from the menu 
 \family sans
-Insert\SpecialChar \menuseparator
+Insert\SpecialChar menuseparator
 Custom
 \begin_inset space ~
 \end_inset
@@ -166,6 +257,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 +292,20 @@ relative c'' {
 \end_layout
 
 \begin_layout Standard
-The previous LyX inset produces the following LaTeX-lookalike code:
+\noindent
+The previous \SpecialChar LyX
+ inset produces the following \SpecialChar 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 +329,79 @@ 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 \SpecialChar 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 \SpecialChar LaTeX
+, but is preprocessed by LilyPond-book,
+ which creates the graphics files and includes them in the \SpecialChar LaTeX
+ document by
+ replacing the above with a 
 \family typewriter
 
 \backslash
-includegraphics{\SpecialChar \ldots{}
+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
+\SpecialChar LyX
+\SpecialChar menuseparator
+LilyPond-book\SpecialChar menuseparator
+\SpecialChar LaTeX
+
 \family default
 .
+ \SpecialChar LyX
+ creates a .lytex file, LilyPond-book creates a .tex files and the accompanying
+ image files, and \SpecialChar 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,
- 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
+ musical extract inline, or in its own paragraph, centered, left-aligned,
+ etc., what you see in the \SpecialChar LyX
+ window should be respected in the final format.
+ 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
@@ -268,15 +423,17 @@ Previews
 
 \begin_layout Standard
 It is possible to have a direct feedback of what the music notation looks
- like from within LyX.
+ like from within \SpecialChar LyX
+.
  To do this, wrap a LilyPond inset inside a Preview inset, which you find
  from the menu 
 \family sans
-Insert\SpecialChar \menuseparator
+Insert\SpecialChar menuseparator
 Preview
 \family default
 .
- This only affects the display within LyX, not the output:
+ This only affects the display within \SpecialChar LyX
+, not the output:
 \end_layout
 
 \begin_layout Standard
@@ -317,18 +474,27 @@ 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 \SpecialChar LyX
+ are reported here.
+\end_layout
+
 \begin_layout Subsubsection
 Child documents
 \end_layout
 
 \begin_layout Standard
-A LyX document using the LilyPond module cannot have child documents using
+A \SpecialChar LyX
+ document using the LilyPond module cannot have child documents using
  the 
 \begin_inset Quotes eld
 \end_inset
@@ -356,8 +522,8 @@ Include Type
 
  under 
 \family sans
-Insert\SpecialChar \menuseparator
-File\SpecialChar \menuseparator
+Insert\SpecialChar menuseparator
+File\SpecialChar menuseparator
 Child
 \begin_inset space ~
 \end_inset
@@ -410,7 +576,7 @@ usepackage{graphicx}
 \begin_layout Standard
 to your master document's preamble under 
 \family sans
-Document\SpecialChar \menuseparator
+Document\SpecialChar menuseparator
 Settings
 \family default
 .
@@ -499,12 +665,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,27 +733,76 @@ 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
+ \SpecialChar LaTeX
+ with respect to line width, page breaks, and so on.
+ This is in contrast to the long-standing \SpecialChar 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 typesetti
+ng decisions to LilyPond.
+ Unfortunately, support for the 
+\family typewriter
+
+\backslash
+lilypondfile
+\family default
+ command in \SpecialChar LyX
+ is not implemented yet, but it is possible to use it inside
+ a \SpecialChar 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
 Example 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sub:Editorial-headword"
+reference "subsec: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 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sub:Tablatures-template"
+reference "subsec:Tablatures-template"
 
 \end_inset
 
@@ -591,7 +813,7 @@ reference "sub:Tablatures-template"
 Editorial headword
 \begin_inset CommandInset label
 LatexCommand label
-name "sub:Editorial-headword"
+name "subsec:Editorial-headword"
 
 \end_inset
 
@@ -601,7 +823,7 @@ name "sub:Editorial-headword"
 \begin_layout Standard
 NR 1.7 Editorial annotations Beethoven, Op.
  31, No.
- 3 Piano sonata 18, Movt II, Scherzo Measures 9--14.
+ 3 Piano sonata 18, Movt II, Scherzo Measures 914.
 \end_layout
 
 \begin_layout Standard
@@ -1104,13 +1326,14 @@ staccato
 \end_layout
 
 \begin_layout Standard
+\noindent
 [from 
 \begin_inset Flex URL
 status collapsed
 
 \begin_layout Plain Layout
 
-http://lsr.dsi.unimi.it/LSR/Item?id=627
+http://lsr.di.unimi.it/LSR/Item?id=627
 \end_layout
 
 \end_inset
@@ -1122,7 +1345,7 @@ http://lsr.dsi.unimi.it/LSR/Item?id=627
 Tablatures template
 \begin_inset CommandInset label
 LatexCommand label
-name "sub:Tablatures-template"
+name "subsec:Tablatures-template"
 
 \end_inset
 
@@ -1282,13 +1505,14 @@ lower }
 \end_layout
 
 \begin_layout Standard
+\noindent
 [from 
 \begin_inset Flex URL
 status collapsed
 
 \begin_layout Plain Layout
 
-http://lsr.dsi.unimi.it/LSR/Item?id=634
+http://lsr.di.unimi.it/LSR/Item?id=634
 \end_layout
 
 \end_inset