X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fexamples%2Flilypond.lyx;h=49af0d03d9cb9d1521671b663888d8966a1e5001;hb=40c262cbd865805d35aba65e25e919fc8dee6e69;hp=ecc20e54ad6b5a35ab253a527bd30d07bab3848b;hpb=9a7117af5b132128b920c2a7e38575be6571116b;p=lyx.git diff --git a/lib/examples/lilypond.lyx b/lib/examples/lilypond.lyx index ecc20e54ad..49af0d03d9 100644 --- a/lib/examples/lilypond.lyx +++ b/lib/examples/lilypond.lyx @@ -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 9–14. \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