1 #LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
9 \use_default_options true
13 \maintain_unincluded_children false
19 \font_typewriter default
20 \font_default_family default
28 \default_output_format default
30 \bibtex_command default
31 \index_command default
32 \paperfontsize default
44 \paperorientation portrait
57 \paragraph_separation skip
59 \quotes_language english
62 \paperpagestyle default
63 \tracking_changes false
75 \begin_layout Abstract
76 This is an example file demonstrating the use of LilyPond music notation
81 Using LilyPond code within LyX
84 \begin_layout Standard
85 Support for LilyPond constructs (LilyPond code) within LyX is enabled by
86 adding the LilyPond module to your document.
87 This is done from the menu Document \SpecialChar \menuseparator
88 Settings..., then selecting LilyPond
89 in the list of modules.
90 You can use any LaTeX-based LyX layout and use the regular preview and
91 export mechanism; LyX will take care of processing the LaTeX code through
92 LilyPond-book for you.
93 LilyPond-book can also handle DocBook documents but LilyPond-DocBook support
94 in LyX is missing at the moment.
97 \begin_layout Subsection
101 \begin_layout Itemize
102 LilyPond-book version 2.13
105 \begin_layout Paragraph
109 \begin_layout Standard
110 LilyPond-book supports LaTeX output since version 2.1.
111 However, some features used by LyX are available only in recent versions:
112 PDFLaTeX support (version 2.9), the
116 flag (version 2.11) and especially the
123 \begin_layout Subsection
127 \begin_layout Standard
128 The module provides a LilyPond inset which you insert from the menu Insert
129 \SpecialChar \menuseparator
131 This inset is for typing the LilyPond code which will be typeset into your
133 First, let's try a simple scale:
136 \begin_layout Standard
137 \begin_inset Flex LilyPond
140 \begin_layout Plain Layout
147 \begin_layout Plain Layout
152 \begin_layout Plain Layout
162 \begin_layout Standard
163 The previous LyX inset produces the following LaTeX-lookalike code:
166 \begin_layout LyX-Code
172 \begin_layout LyX-Code
178 \begin_layout LyX-Code
182 \begin_layout LyX-Code
186 \begin_layout LyX-Code
192 \begin_layout Standard
193 This code is not, in fact, processed by LaTeX, but is preprocessed by LilyPond-b
194 ook, which creates the graphics files and include them in the LaTeX document
195 by replacing the above with
199 includegraphics{\SpecialChar \ldots{}
205 \begin_layout Standard
206 Thus, the conversion toolchain is as follow: LyX\SpecialChar \menuseparator
207 LilyPond-book\SpecialChar \menuseparator
209 Every step of the toolchain obeys your spacing, so whether you put the
210 musical extract inline or in its own paragraph, centered or left-aligned,
211 etc., what you see in the LyX window should be respected in the final format.
212 An example of inline use may be to display a chord name, such as
213 \begin_inset Flex LilyPond
216 \begin_layout Plain Layout
231 , or perhaps a very short snippet.
234 \begin_layout Subsection
238 \begin_layout Standard
239 It is possible to have a direct feedback of what the music notation looks
240 like from within LyX.
241 To do this, wrap a LilyPond inset inside a Preview inset, which you find
242 from the menu Insert \SpecialChar \menuseparator
244 This only affects the display within LyX, not the output:
247 \begin_layout Standard
250 \begin_layout Standard
251 \begin_inset Flex LilyPond
254 \begin_layout Plain Layout
261 \begin_layout Plain Layout
266 \begin_layout Plain Layout
281 \begin_layout Standard
282 Unfortunately, you might find that the preview isn't exactly instantaneous.
283 You need to move the cursor out of the Preview inset to start compilation,
284 and processing time can take a few seconds.
287 \begin_layout Subsection
291 \begin_layout Standard
292 LilyPond-book searches for a
304 command when it decides if the code is only a fragment.
305 It is possible to include no LilyPond command at all, but in that case
306 {surrounding braces} are required.
307 Thus, in the following code,
310 \begin_layout LyX-Code
316 \begin_layout LyX-Code
322 \begin_layout LyX-Code
328 \begin_layout Standard
329 LilyPond-book gets confused:
332 \begin_layout LyX-Code
333 error: syntax error, unexpected NOTENAME_PITCH
336 \begin_layout LyX-Code
342 \begin_layout Standard
343 With surrounding braces, all is well:
346 \begin_layout Standard
349 \begin_layout Standard
350 \begin_inset Flex LilyPond
353 \begin_layout Plain Layout
355 {ais' f'' g' e''} % no
370 \begin_layout Standard
371 Another gotcha is with subsequent lilypond snippets with
380 \begin_layout LyX-Code
386 \begin_layout LyX-Code
391 fret-diagram-terse #"x;3;2;o;1;o;" }
394 \begin_layout LyX-Code
400 \begin_layout LyX-Code
404 \begin_layout LyX-Code
410 \begin_layout LyX-Code
415 fret-diagram-terse #"x;x;o;2;3;2;" }
418 \begin_layout LyX-Code
424 \begin_layout Standard
425 For some reason LilyPond-book version 2.13 barks on this when run in safe
426 mode (which you always should use, unless you know what you are doing).
429 \begin_layout Section
433 \begin_layout Standard
435 \begin_inset CommandInset ref
437 reference "sub:Editorial-headword"
441 shows a complex example using many LilyPond constructs; some inline scheme
442 code has been removed to be able to run in safe mode.
444 \begin_inset CommandInset ref
446 reference "sub:Tablatures-template"
450 shows another LilyPond output which should be interesting to guitarists.
453 \begin_layout Subsection
455 \begin_inset CommandInset label
457 name "sub:Editorial-headword"
464 \begin_layout Standard
465 NR 1.7 Editorial annotations Beethoven, Op.
467 3 Piano sonata 18, Movt II, Scherzo Measures 9--14.
470 \begin_layout Standard
475 \begin_layout Standard
476 \begin_inset Flex LilyPond
479 \begin_layout Plain Layout
486 \begin_layout Plain Layout
491 \begin_layout Plain Layout
496 \begin_layout Plain Layout
503 \begin_layout Plain Layout
510 \begin_layout Plain Layout
519 \begin_layout Plain Layout
526 \begin_layout Plain Layout
530 set Staff.fingeringOrientations = #'(up)
533 \begin_layout Plain Layout
537 set Score.currentBarNumber = #9
540 \begin_layout Plain Layout
547 \begin_layout Plain Layout
554 \begin_layout Plain Layout
559 \begin_layout Plain Layout
563 set doubleSlurs = ##t
566 \begin_layout Plain Layout
571 \begin_layout Plain Layout
578 \begin_layout Plain Layout
585 \begin_layout Plain Layout
594 \begin_layout Plain Layout
599 \begin_layout Plain Layout
606 \begin_layout Plain Layout
611 \begin_layout Plain Layout
616 \begin_layout Plain Layout
623 \begin_layout Plain Layout
630 \begin_layout Plain Layout
635 \begin_layout Plain Layout
640 \begin_layout Plain Layout
645 \begin_layout Plain Layout
651 override Script #'script-priority = #-100
654 \begin_layout Plain Layout
661 \begin_layout Plain Layout
672 \begin_layout Plain Layout
677 \begin_layout Plain Layout
682 \begin_layout Plain Layout
687 \begin_layout Plain Layout
692 \begin_layout Plain Layout
699 \begin_layout Plain Layout
706 \begin_layout Plain Layout
711 \begin_layout Plain Layout
716 \begin_layout Plain Layout
721 \begin_layout Plain Layout
726 \begin_layout Plain Layout
731 \begin_layout Plain Layout
736 \begin_layout Plain Layout
743 \begin_layout Plain Layout
752 \begin_layout Plain Layout
759 \begin_layout Plain Layout
763 override Fingering #'direction = #down
766 \begin_layout Plain Layout
770 set Staff.fingeringOrientations = #'(down)
773 \begin_layout Plain Layout
780 \begin_layout Plain Layout
787 \begin_layout Plain Layout
791 set doubleSlurs = ##t
794 \begin_layout Plain Layout
799 \begin_layout Plain Layout
806 \begin_layout Plain Layout
813 \begin_layout Plain Layout
820 \begin_layout Plain Layout
827 \begin_layout Plain Layout
832 \begin_layout Plain Layout
836 set doubleSlurs = ##f
839 \begin_layout Plain Layout
844 \begin_layout Plain Layout
849 \begin_layout Plain Layout
856 \begin_layout Plain Layout
863 \begin_layout Plain Layout
868 \begin_layout Plain Layout
873 \begin_layout Plain Layout
878 \begin_layout Plain Layout
885 \begin_layout Plain Layout
896 \begin_layout Plain Layout
901 \begin_layout Plain Layout
906 \begin_layout Plain Layout
911 \begin_layout Plain Layout
916 \begin_layout Plain Layout
923 \begin_layout Plain Layout
930 \begin_layout Plain Layout
935 \begin_layout Plain Layout
940 \begin_layout Plain Layout
945 \begin_layout Plain Layout
950 \begin_layout Plain Layout
955 \begin_layout Plain Layout
969 \begin_layout Standard
971 \begin_inset Flex URL
974 \begin_layout Plain Layout
976 http://lsr.dsi.unimi.it/LSR/Item?id=627
981 ; inline scheme code removed, centering applied through the paragraph settings]
984 \begin_layout Subsection
986 \begin_inset CommandInset label
988 name "sub:Tablatures-template"
995 \begin_layout Standard
998 \begin_layout Standard
999 \begin_inset Flex LilyPond
1002 \begin_layout Plain Layout
1009 \begin_layout Plain Layout
1015 \begin_layout Plain Layout
1020 \begin_layout Plain Layout
1027 \begin_layout Plain Layout
1032 \begin_layout Plain Layout
1037 \begin_layout Plain Layout
1044 \begin_layout Plain Layout
1051 \begin_layout Plain Layout
1055 new Staff = "guitar" <<
1058 \begin_layout Plain Layout
1062 context Voice = "upper guitar" {
1071 \begin_layout Plain Layout
1075 context Voice = "lower guitar" {
1084 \begin_layout Plain Layout
1089 \begin_layout Plain Layout
1093 new TabStaff = "tab" <<
1096 \begin_layout Plain Layout
1100 context TabVoice = "upper tab" {
1109 \begin_layout Plain Layout
1113 context TabVoice = "lower tab" {
1122 \begin_layout Plain Layout
1127 \begin_layout Plain Layout
1132 \begin_layout Plain Layout
1147 \begin_layout Standard
1149 \begin_inset Flex URL
1152 \begin_layout Plain Layout
1154 http://lsr.dsi.unimi.it/LSR/Item?id=634