]> git.lyx.org Git - lyx.git/blob - lib/examples/lilypond.lyx
Push the rest of changes of ectaart.cls (Econometrica) from Koji.
[lyx.git] / lib / examples / lilypond.lyx
1 #LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
2 \lyxformat 401
3 \begin_document
4 \begin_header
5 \textclass article
6 \begin_preamble
7 \date{}
8 \end_preamble
9 \use_default_options true
10 \begin_modules
11 lilypond
12 \end_modules
13 \maintain_unincluded_children false
14 \language english
15 \inputencoding utf8
16 \fontencoding global
17 \font_roman default
18 \font_sans default
19 \font_typewriter default
20 \font_default_family default
21 \use_xetex false
22 \font_sc false
23 \font_osf false
24 \font_sf_scale 100
25 \font_tt_scale 100
26
27 \graphics default
28 \default_output_format default
29 \output_sync 0
30 \bibtex_command default
31 \index_command default
32 \paperfontsize 12
33 \spacing single
34 \use_hyperref false
35 \papersize default
36 \use_geometry true
37 \use_amsmath 1
38 \use_esint 1
39 \use_mhchem 1
40 \use_mathdots 1
41 \cite_engine basic
42 \use_bibtopic false
43 \use_indices false
44 \paperorientation portrait
45 \suppress_date false
46 \index Index
47 \shortcut idx
48 \color #008000
49 \end_index
50 \leftmargin 2cm
51 \topmargin 2cm
52 \rightmargin 2cm
53 \bottommargin 2cm
54 \secnumdepth 3
55 \tocdepth 3
56 \paragraph_separation skip
57 \defskip smallskip
58 \quotes_language english
59 \papercolumns 1
60 \papersides 1
61 \paperpagestyle default
62 \tracking_changes false
63 \output_changes false
64 \html_math_output 0
65 \html_be_strict true
66 \end_header
67
68 \begin_body
69
70 \begin_layout Title
71 LilyPond-book + LyX
72 \end_layout
73
74 \begin_layout Abstract
75 This is an example file demonstrating the use of LilyPond music notation
76  with LyX.
77 \end_layout
78
79 \begin_layout Section
80 Using LilyPond code within LyX
81 \end_layout
82
83 \begin_layout Standard
84 Support for LilyPond constructs (LilyPond code) within LyX is enabled by
85  adding the LilyPond module to your document.
86  This is done from the menu Document \SpecialChar \menuseparator
87  Settings..., then selecting LilyPond
88  in the list of modules.
89  You can use any LaTeX-based LyX layout and use the regular preview and
90  export mechanism; LyX will take care of processing the LaTeX code through
91  LilyPond-book for you.
92  LilyPond-book can also handle DocBook documents but LilyPond-DocBook support
93  in LyX is missing at the moment.
94 \end_layout
95
96 \begin_layout Subsection
97 Requirements
98 \end_layout
99
100 \begin_layout List
101 \labelwidthstring 00.00.0000
102 LaTeX
103 \begin_inset space ~
104 \end_inset
105
106 support: LilyPond-book version 2.1
107 \end_layout
108
109 \begin_layout List
110 \labelwidthstring 00.00.0000
111 PDFLaTeX
112 \begin_inset space ~
113 \end_inset
114
115 support: LilyPond-book version 2.11
116 \end_layout
117
118 \begin_layout Paragraph
119 Notes:
120 \end_layout
121
122 \begin_layout Standard
123 LilyPond-book supports LaTeX output since version 2.1.
124  PDFLaTeX requires LilyPond-book version 2.9 or older, but there are bugs
125  in those early versions.
126  We require version 2.11 and older because we use the -
127 \begin_inset ERT
128 status collapsed
129
130 \begin_layout Plain Layout
131
132 {}
133 \end_layout
134
135 \end_inset
136
137 -lily-output-dir flag.
138 \end_layout
139
140 \begin_layout Subsection
141 Integration
142 \end_layout
143
144 \begin_layout Standard
145 The module provides a LilyPond inset which you insert from the menu Insert
146  \SpecialChar \menuseparator
147  Custom Insets.
148  This inset is for typing the LilyPond code which will be typeset into your
149  musical notes.
150  First, let's try a simple scale:
151 \end_layout
152
153 \begin_layout Standard
154 \begin_inset Flex LilyPond
155 status open
156
157 \begin_layout Plain Layout
158
159
160 \backslash
161 relative c'' {
162 \end_layout
163
164 \begin_layout Plain Layout
165
166   g a b c
167 \end_layout
168
169 \begin_layout Plain Layout
170
171 }
172 \end_layout
173
174 \end_inset
175
176
177 \end_layout
178
179 \begin_layout Standard
180 The previous LyX inset produces the following LaTeX-lookalike code:
181 \end_layout
182
183 \begin_layout LyX-Code
184
185 \backslash
186 begin{lilypond}
187 \end_layout
188
189 \begin_layout LyX-Code
190
191 \backslash
192 relative c'' {
193 \end_layout
194
195 \begin_layout LyX-Code
196   g a b c
197 \end_layout
198
199 \begin_layout LyX-Code
200 }
201 \end_layout
202
203 \begin_layout LyX-Code
204
205 \backslash
206 end{lilypond}
207 \end_layout
208
209 \begin_layout Standard
210 This code is not, in fact, processed by LaTeX, but is preprocessed by LilyPond-b
211 ook, which creates the graphics files and include them in the LaTeX document
212  by replacing the above with 
213 \family typewriter
214
215 \backslash
216 includegraphics{\SpecialChar \ldots{}
217 }
218 \family default
219 .
220 \end_layout
221
222 \begin_layout Standard
223 Thus, the conversion toolchain is as follow: LyX\SpecialChar \menuseparator
224 LilyPond-book\SpecialChar \menuseparator
225 LaTeX.
226  Every step of the toolchain obeys your spacing, so whether you put the
227  musical extract inline or in its own paragraph, centered or left-aligned,
228  etc., what you see in the LyX window should be respected in the final format.
229  An example of inline use may be to display a chord name, such as
230 \begin_inset Flex LilyPond
231 status open
232
233 \begin_layout Plain Layout
234
235
236 \backslash
237 markup { 
238 \backslash
239 concat {B 
240 \backslash
241 super 
242 \backslash
243 flat } }
244 \end_layout
245
246 \end_inset
247
248 , or perhaps a very short snippet.
249 \end_layout
250
251 \begin_layout Subsection
252 Previews
253 \end_layout
254
255 \begin_layout Standard
256 It is possible to have a direct feedback of what the music notation looks
257  like from within LyX.
258  To do this, wrap a LilyPond inset inside a Preview inset, which you find
259  from the menu Insert \SpecialChar \menuseparator
260  Preview.
261  This only affects the display within LyX, not the output:
262 \end_layout
263
264 \begin_layout Standard
265 \begin_inset Preview
266
267 \begin_layout Standard
268 \begin_inset Flex LilyPond
269 status open
270
271 \begin_layout Plain Layout
272
273
274 \backslash
275 relative c'' {
276 \end_layout
277
278 \begin_layout Plain Layout
279
280   ais a g ges
281 \end_layout
282
283 \begin_layout Plain Layout
284
285 }
286 \end_layout
287
288 \end_inset
289
290
291 \end_layout
292
293 \end_inset
294
295
296 \end_layout
297
298 \begin_layout Standard
299 Unfortunately, you might find that the preview isn't exactly instantaneous.
300  You need to move the cursor out of the Preview inset to start compilation,
301  and processing time can take a few seconds.
302 \end_layout
303
304 \begin_layout Subsection
305 Gotchas
306 \end_layout
307
308 \begin_layout Standard
309 LilyPond-book searches for a 
310 \family typewriter
311
312 \backslash
313 score
314 \family default
315  or 
316 \family typewriter
317
318 \backslash
319 relative
320 \family default
321  command when it decides if the code is only a fragment.
322  It is possible to include no LilyPond command at all, but in that case
323  {surrounding braces} are required.
324  Thus, in the following code,
325 \end_layout
326
327 \begin_layout LyX-Code
328
329 \backslash
330 begin{lilypond}
331 \end_layout
332
333 \begin_layout LyX-Code
334   ais' f'' g' e'' % no 
335 \backslash
336 score given
337 \end_layout
338
339 \begin_layout LyX-Code
340
341 \backslash
342 end{lilypond}
343 \end_layout
344
345 \begin_layout Standard
346 LilyPond-book gets confused:
347 \end_layout
348
349 \begin_layout LyX-Code
350 error: syntax error, unexpected NOTENAME_PITCH
351 \end_layout
352
353 \begin_layout LyX-Code
354 ais' f'' g' e'' % no 
355 \backslash
356 score given
357 \end_layout
358
359 \begin_layout Standard
360 With surrounding braces, all is well:
361 \end_layout
362
363 \begin_layout Standard
364 \begin_inset Preview
365
366 \begin_layout Standard
367 \begin_inset Flex LilyPond
368 status open
369
370 \begin_layout Plain Layout
371
372 {ais' f'' g' e''} % no 
373 \backslash
374 score given
375 \end_layout
376
377 \end_inset
378
379
380 \end_layout
381
382 \end_inset
383
384
385 \end_layout
386
387 \begin_layout Section
388 LilyPond examples
389 \end_layout
390
391 \begin_layout Standard
392 Example 
393 \begin_inset CommandInset ref
394 LatexCommand ref
395 reference "sub:Editorial-headword"
396
397 \end_inset
398
399  shows that any valid LilyPond construct can be handled, no matter how complicat
400 ed.
401  Example 
402 \begin_inset CommandInset ref
403 LatexCommand ref
404 reference "sub:Positioning-of-markup"
405
406 \end_inset
407
408  shows how you can mix LilyPond code with tables to display the fingering
409  of guitar chords.
410  And Example 
411 \begin_inset CommandInset ref
412 LatexCommand ref
413 reference "sub:Tablatures-template"
414
415 \end_inset
416
417  shows yet another LilyPond output for guitarists.
418 \end_layout
419
420 \begin_layout Subsection
421 Editorial headword
422 \begin_inset CommandInset label
423 LatexCommand label
424 name "sub:Editorial-headword"
425
426 \end_inset
427
428
429 \end_layout
430
431 \begin_layout Standard
432 NR 1.7 Editorial annotations Beethoven, Op.
433  31, No.
434  3 Piano sonata 18, Movt II, Scherzo Measures 9--14.
435 \end_layout
436
437 \begin_layout Standard
438 \noindent
439 \align center
440 \begin_inset Preview
441
442 \begin_layout Standard
443 \begin_inset Flex LilyPond
444 status collapsed
445
446 \begin_layout Plain Layout
447
448
449 \backslash
450 new PianoStaff <<
451 \end_layout
452
453 \begin_layout Plain Layout
454
455   
456 \end_layout
457
458 \begin_layout Plain Layout
459
460   % RH Staff
461 \end_layout
462
463 \begin_layout Plain Layout
464
465   
466 \backslash
467 new Staff {
468 \end_layout
469
470 \begin_layout Plain Layout
471
472     
473 \backslash
474 clef treble
475 \end_layout
476
477 \begin_layout Plain Layout
478
479     
480 \backslash
481 key aes 
482 \backslash
483 major
484 \end_layout
485
486 \begin_layout Plain Layout
487
488     
489 \backslash
490 time 2/4
491 \end_layout
492
493 \begin_layout Plain Layout
494
495     
496 \backslash
497 set Staff.fingeringOrientations = #'(up)
498 \end_layout
499
500 \begin_layout Plain Layout
501
502     
503 \backslash
504 set Score.currentBarNumber = #9
505 \end_layout
506
507 \begin_layout Plain Layout
508
509     
510 \backslash
511 partial 8
512 \end_layout
513
514 \begin_layout Plain Layout
515
516     <aes''-4 c''>8
517 \backslash
518 staccato
519 \end_layout
520
521 \begin_layout Plain Layout
522
523     |
524 \end_layout
525
526 \begin_layout Plain Layout
527
528     
529 \backslash
530 set doubleSlurs = ##t
531 \end_layout
532
533 \begin_layout Plain Layout
534
535     <bes''-5 des''-2>4(
536 \end_layout
537
538 \begin_layout Plain Layout
539
540     <aes''-4 c''>8
541 \backslash
542 staccato)
543 \end_layout
544
545 \begin_layout Plain Layout
546
547     
548 \backslash
549 noBeam
550 \end_layout
551
552 \begin_layout Plain Layout
553
554     c''8-5
555 \backslash
556 staccato
557 \backslash
558 pp
559 \end_layout
560
561 \begin_layout Plain Layout
562
563     |
564 \end_layout
565
566 \begin_layout Plain Layout
567
568     
569 \backslash
570 unset doubleSlurs
571 \end_layout
572
573 \begin_layout Plain Layout
574
575     bes'8..(
576 \end_layout
577
578 \begin_layout Plain Layout
579
580     aes'32
581 \end_layout
582
583 \begin_layout Plain Layout
584
585     g'8)
586 \backslash
587 staccato
588 \end_layout
589
590 \begin_layout Plain Layout
591
592     f'8
593 \backslash
594 staccato
595 \end_layout
596
597 \begin_layout Plain Layout
598
599     |
600 \end_layout
601
602 \begin_layout Plain Layout
603
604     e'4-2
605 \end_layout
606
607 \begin_layout Plain Layout
608
609     r8
610 \end_layout
611
612 \begin_layout Plain Layout
613
614     
615 \backslash
616 once 
617 \backslash
618 override Script #'script-priority = #-100
619 \end_layout
620
621 \begin_layout Plain Layout
622
623     
624 \backslash
625 afterGrace
626 \end_layout
627
628 \begin_layout Plain Layout
629
630     f'8(
631 \backslash
632 trill^
633 \backslash
634 markup { 
635 \backslash
636 finger "3-2" }
637 \end_layout
638
639 \begin_layout Plain Layout
640
641     { e'16[ f'16] }
642 \end_layout
643
644 \begin_layout Plain Layout
645
646     |
647 \end_layout
648
649 \begin_layout Plain Layout
650
651     g'8..-3
652 \end_layout
653
654 \begin_layout Plain Layout
655
656     f'32
657 \end_layout
658
659 \begin_layout Plain Layout
660
661     e'8-1)
662 \backslash
663 staccato
664 \end_layout
665
666 \begin_layout Plain Layout
667
668     d'8-2
669 \backslash
670 staccato
671 \end_layout
672
673 \begin_layout Plain Layout
674
675     |
676 \end_layout
677
678 \begin_layout Plain Layout
679
680     c'4
681 \end_layout
682
683 \begin_layout Plain Layout
684
685     r4
686 \end_layout
687
688 \begin_layout Plain Layout
689
690   }
691 \end_layout
692
693 \begin_layout Plain Layout
694
695   
696 \end_layout
697
698 \begin_layout Plain Layout
699
700   % LH Staff
701 \end_layout
702
703 \begin_layout Plain Layout
704
705   
706 \backslash
707 new Staff {
708 \end_layout
709
710 \begin_layout Plain Layout
711
712     
713 \backslash
714 key aes 
715 \backslash
716 major
717 \end_layout
718
719 \begin_layout Plain Layout
720
721     
722 \backslash
723 clef treble
724 \end_layout
725
726 \begin_layout Plain Layout
727
728     
729 \backslash
730 override Fingering #'direction = #down
731 \end_layout
732
733 \begin_layout Plain Layout
734
735     
736 \backslash
737 set Staff.fingeringOrientations = #'(down)
738 \end_layout
739
740 \begin_layout Plain Layout
741
742     
743 \backslash
744 partial 8
745 \end_layout
746
747 \begin_layout Plain Layout
748
749     <aes' aes>8
750 \backslash
751 staccato
752 \end_layout
753
754 \begin_layout Plain Layout
755
756     
757 \backslash
758 set doubleSlurs = ##t
759 \end_layout
760
761 \begin_layout Plain Layout
762
763     <g'-2 ees'-3>4(
764 \end_layout
765
766 \begin_layout Plain Layout
767
768     <aes' aes>8)
769 \backslash
770 staccato
771 \end_layout
772
773 \begin_layout Plain Layout
774
775     
776 \backslash
777 noBeam
778 \end_layout
779
780 \begin_layout Plain Layout
781
782     
783 \backslash
784 clef bass
785 \end_layout
786
787 \begin_layout Plain Layout
788
789     c'8-1
790 \backslash
791 staccato
792 \end_layout
793
794 \begin_layout Plain Layout
795
796     |
797 \end_layout
798
799 \begin_layout Plain Layout
800
801     
802 \backslash
803 set doubleSlurs = ##f
804 \end_layout
805
806 \begin_layout Plain Layout
807
808     bes8..(
809 \end_layout
810
811 \begin_layout Plain Layout
812
813     aes32
814 \end_layout
815
816 \begin_layout Plain Layout
817
818     g8-1)
819 \backslash
820 staccato
821 \end_layout
822
823 \begin_layout Plain Layout
824
825     f8
826 \backslash
827 staccato
828 \end_layout
829
830 \begin_layout Plain Layout
831
832     |
833 \end_layout
834
835 \begin_layout Plain Layout
836
837     e4
838 \end_layout
839
840 \begin_layout Plain Layout
841
842     r8
843 \end_layout
844
845 \begin_layout Plain Layout
846
847     
848 \backslash
849 afterGrace
850 \end_layout
851
852 \begin_layout Plain Layout
853
854     f8(
855 \backslash
856 trill_
857 \backslash
858 markup { 
859 \backslash
860 finger "2-1" }
861 \end_layout
862
863 \begin_layout Plain Layout
864
865     { e16[ f16] }
866 \end_layout
867
868 \begin_layout Plain Layout
869
870     |
871 \end_layout
872
873 \begin_layout Plain Layout
874
875     g8..-1
876 \end_layout
877
878 \begin_layout Plain Layout
879
880     f32
881 \end_layout
882
883 \begin_layout Plain Layout
884
885     e8)
886 \backslash
887 staccato
888 \end_layout
889
890 \begin_layout Plain Layout
891
892     d8
893 \backslash
894 staccato
895 \end_layout
896
897 \begin_layout Plain Layout
898
899     |
900 \end_layout
901
902 \begin_layout Plain Layout
903
904     c4
905 \end_layout
906
907 \begin_layout Plain Layout
908
909     r4
910 \end_layout
911
912 \begin_layout Plain Layout
913
914   }
915 \end_layout
916
917 \begin_layout Plain Layout
918
919 >>
920 \end_layout
921
922 \begin_layout Plain Layout
923
924 \end_layout
925
926 \end_inset
927
928
929 \end_layout
930
931 \end_inset
932
933
934 \end_layout
935
936 \begin_layout Standard
937 [from 
938 \begin_inset Flex URL
939 status collapsed
940
941 \begin_layout Plain Layout
942
943 http://lsr.dsi.unimi.it/LSR/Item?id=627
944 \end_layout
945
946 \end_inset
947
948 ]
949 \end_layout
950
951 \begin_layout Subsection
952 Positioning of markup elements
953 \begin_inset CommandInset label
954 LatexCommand label
955 name "sub:Positioning-of-markup"
956
957 \end_inset
958
959
960 \end_layout
961
962 \begin_layout Standard
963 Tabular arrangement of elements
964 \end_layout
965
966 \begin_layout Standard
967 \noindent
968 \align center
969 \begin_inset Tabular
970 <lyxtabular version="3" rows="4" columns="3">
971 <features tabularvalignment="middle">
972 <column alignment="center" valignment="middle" width="20col%">
973 <column alignment="center" valignment="middle" width="20col%">
974 <column alignment="center" valignment="middle" width="20col%">
975 <row>
976 <cell alignment="center" valignment="top" usebox="none">
977 \begin_inset Text
978
979 \begin_layout Plain Layout
980 Ignatzek
981 \end_layout
982
983 \end_inset
984 </cell>
985 <cell alignment="center" valignment="top" usebox="none">
986 \begin_inset Text
987
988 \begin_layout Plain Layout
989 Alternative
990 \end_layout
991
992 \end_inset
993 </cell>
994 <cell alignment="center" valignment="top" usebox="none">
995 \begin_inset Text
996
997 \begin_layout Plain Layout
998 Diagram
999 \end_layout
1000
1001 \end_inset
1002 </cell>
1003 </row>
1004 <row>
1005 <cell alignment="center" valignment="top" usebox="none">
1006 \begin_inset Text
1007
1008 \begin_layout Plain Layout
1009 C
1010 \end_layout
1011
1012 \end_inset
1013 </cell>
1014 <cell alignment="center" valignment="top" usebox="none">
1015 \begin_inset Text
1016
1017 \begin_layout Plain Layout
1018 C
1019 \end_layout
1020
1021 \end_inset
1022 </cell>
1023 <cell alignment="center" valignment="top" usebox="none">
1024 \begin_inset Text
1025
1026 \begin_layout Plain Layout
1027 \begin_inset Preview
1028
1029 \begin_layout Standard
1030 \begin_inset Flex LilyPond
1031 status collapsed
1032
1033 \begin_layout Plain Layout
1034
1035
1036 \backslash
1037 markup { 
1038 \backslash
1039 fret-diagram #"6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;" }
1040 \end_layout
1041
1042 \end_inset
1043
1044
1045 \end_layout
1046
1047 \end_inset
1048
1049
1050 \end_layout
1051
1052 \end_inset
1053 </cell>
1054 </row>
1055 <row>
1056 <cell alignment="center" valignment="top" usebox="none">
1057 \begin_inset Text
1058
1059 \begin_layout Plain Layout
1060 Cm
1061 \end_layout
1062
1063 \end_inset
1064 </cell>
1065 <cell alignment="center" valignment="top" usebox="none">
1066 \begin_inset Text
1067
1068 \begin_layout Plain Layout
1069 \begin_inset Preview
1070
1071 \begin_layout Standard
1072 \begin_inset Flex LilyPond
1073 status collapsed
1074
1075 \begin_layout Plain Layout
1076
1077
1078 \backslash
1079 markup { 
1080 \backslash
1081 concat { C 
1082 \backslash
1083 super { 
1084 \backslash
1085 flat 5 } } }
1086 \end_layout
1087
1088 \end_inset
1089
1090
1091 \end_layout
1092
1093 \end_inset
1094
1095
1096 \end_layout
1097
1098 \end_inset
1099 </cell>
1100 <cell alignment="center" valignment="top" usebox="none">
1101 \begin_inset Text
1102
1103 \begin_layout Plain Layout
1104 \begin_inset Preview
1105
1106 \begin_layout Standard
1107 \begin_inset Flex LilyPond
1108 status collapsed
1109
1110 \begin_layout Plain Layout
1111
1112
1113 \backslash
1114 markup { 
1115 \backslash
1116 fret-diagram #"6-x;5-1-1;4-3-3;3-3-4;2-2-2;1-1-1;c:5-1-1;" }
1117 \end_layout
1118
1119 \end_inset
1120
1121
1122 \end_layout
1123
1124 \end_inset
1125
1126
1127 \end_layout
1128
1129 \end_inset
1130 </cell>
1131 </row>
1132 <row>
1133 <cell alignment="center" valignment="top" usebox="none">
1134 \begin_inset Text
1135
1136 \begin_layout Plain Layout
1137 C+
1138 \end_layout
1139
1140 \end_inset
1141 </cell>
1142 <cell alignment="center" valignment="top" usebox="none">
1143 \begin_inset Text
1144
1145 \begin_layout Plain Layout
1146 \begin_inset Preview
1147
1148 \begin_layout Standard
1149 \begin_inset Flex LilyPond
1150 status collapsed
1151
1152 \begin_layout Plain Layout
1153
1154
1155 \backslash
1156 markup { 
1157 \backslash
1158 concat { C 
1159 \backslash
1160 super { 
1161 \backslash
1162 sharp 5 } } }
1163 \end_layout
1164
1165 \end_inset
1166
1167
1168 \end_layout
1169
1170 \end_inset
1171
1172
1173 \end_layout
1174
1175 \end_inset
1176 </cell>
1177 <cell alignment="center" valignment="top" usebox="none">
1178 \begin_inset Text
1179
1180 \begin_layout Plain Layout
1181 \begin_inset Preview
1182
1183 \begin_layout Standard
1184 \begin_inset Flex LilyPond
1185 status collapsed
1186
1187 \begin_layout Plain Layout
1188
1189
1190 \backslash
1191 markup { 
1192 \backslash
1193 fret-diagram #"6-x;5-x;4-2-2;3-1-1;2-1-1;1-4-4;c:2-3-1;" }
1194 \end_layout
1195
1196 \end_inset
1197
1198
1199 \end_layout
1200
1201 \end_inset
1202
1203
1204 \end_layout
1205
1206 \end_inset
1207 </cell>
1208 </row>
1209 </lyxtabular>
1210
1211 \end_inset
1212
1213
1214 \end_layout
1215
1216 \begin_layout Standard
1217 Musical notation with each element placed by hand
1218 \end_layout
1219
1220 \begin_layout Standard
1221 \noindent
1222 \begin_inset Preview
1223
1224 \begin_layout Standard
1225 \begin_inset Flex LilyPond
1226 status open
1227
1228 \begin_layout Plain Layout
1229
1230 %{
1231 \end_layout
1232
1233 \begin_layout Plain Layout
1234
1235 Snippet for overlay markup command - absolute positioning of items
1236 \end_layout
1237
1238 \begin_layout Plain Layout
1239
1240 Defines a new markup command 
1241 \backslash
1242 overlay which takes a list of markup elements and positions them all at
1243  the same point.
1244 \end_layout
1245
1246 \begin_layout Plain Layout
1247
1248         By translating each markup element, you can gain control of the
1249  absolute position of each.
1250 \end_layout
1251
1252 \begin_layout Plain Layout
1253
1254 %}
1255 \end_layout
1256
1257 \begin_layout Plain Layout
1258
1259 #(define-public (stack-stencil-overlay stencils)
1260 \end_layout
1261
1262 \begin_layout Plain Layout
1263
1264   "Recursive function to add stencils together"
1265 \end_layout
1266
1267 \begin_layout Plain Layout
1268
1269   (if (and (pair? stencils)
1270 \end_layout
1271
1272 \begin_layout Plain Layout
1273
1274            (ly:stencil? (car stencils)))
1275 \end_layout
1276
1277 \begin_layout Plain Layout
1278
1279       
1280 \end_layout
1281
1282 \begin_layout Plain Layout
1283
1284       (if (and (pair? (cdr stencils))
1285 \end_layout
1286
1287 \begin_layout Plain Layout
1288
1289                (ly:stencil? (cadr stencils)))
1290 \end_layout
1291
1292 \begin_layout Plain Layout
1293
1294           (let ((tail (stack-stencil-overlay (cdr stencils)))
1295 \end_layout
1296
1297 \begin_layout Plain Layout
1298
1299                 (head (car stencils)))
1300 \end_layout
1301
1302 \begin_layout Plain Layout
1303
1304                (ly:stencil-add head tail))
1305 \end_layout
1306
1307 \begin_layout Plain Layout
1308
1309           (car stencils))
1310 \end_layout
1311
1312 \begin_layout Plain Layout
1313
1314       point-stencil))
1315 \end_layout
1316
1317 \begin_layout Plain Layout
1318
1319 #(define-markup-command (overlay layout props args)
1320 \end_layout
1321
1322 \begin_layout Plain Layout
1323
1324   (markup-list?)
1325 \end_layout
1326
1327 \begin_layout Plain Layout
1328
1329   "Overlay arguments one on top of the next"
1330 \end_layout
1331
1332 \begin_layout Plain Layout
1333
1334   (let ((stencils (interpret-markup-list layout props args)))
1335 \end_layout
1336
1337 \begin_layout Plain Layout
1338
1339        (stack-stencil-overlay
1340 \end_layout
1341
1342 \begin_layout Plain Layout
1343
1344          (remove ly:stencil-empty? stencils))))
1345 \end_layout
1346
1347 \begin_layout Plain Layout
1348
1349
1350 \backslash
1351 markup {
1352 \end_layout
1353
1354 \begin_layout Plain Layout
1355
1356   
1357 \backslash
1358 overlay {
1359 \end_layout
1360
1361 \begin_layout Plain Layout
1362
1363 %    
1364 \backslash
1365 translate #'(0 .
1366  7)
1367 \end_layout
1368
1369 \begin_layout Plain Layout
1370
1371 %    
1372 \backslash
1373 justify-string #"Musical notation with each element placed by hand"
1374 \end_layout
1375
1376 \begin_layout Plain Layout
1377
1378     
1379 \backslash
1380 translate #'(0 .
1381  -3) 
1382 \backslash
1383 fontsize #2 "1"
1384 \end_layout
1385
1386 \begin_layout Plain Layout
1387
1388     
1389 \backslash
1390 postscript #"
1391 \end_layout
1392
1393 \begin_layout Plain Layout
1394
1395       0.15 setlinewidth
1396 \end_layout
1397
1398 \begin_layout Plain Layout
1399
1400       4  0 moveto 74  0 lineto stroke
1401 \end_layout
1402
1403 \begin_layout Plain Layout
1404
1405       4 -1 moveto 74 -1 lineto stroke
1406 \end_layout
1407
1408 \begin_layout Plain Layout
1409
1410       4 -2 moveto 74 -2 lineto stroke
1411 \end_layout
1412
1413 \begin_layout Plain Layout
1414
1415       4 -3 moveto 74 -3 lineto stroke
1416 \end_layout
1417
1418 \begin_layout Plain Layout
1419
1420       4 -4 moveto 74 -4 lineto stroke
1421 \end_layout
1422
1423 \begin_layout Plain Layout
1424
1425       11.6 -5 moveto 13.6 -5 lineto stroke
1426 \end_layout
1427
1428 \begin_layout Plain Layout
1429
1430       42.6 -5 moveto 44.6 -5 lineto stroke
1431 \end_layout
1432
1433 \begin_layout Plain Layout
1434
1435       17.6 -5 moveto 0 0 2 -1 7 -1 9 0 rcurveto stroke
1436 \end_layout
1437
1438 \begin_layout Plain Layout
1439
1440       48.6 -5 moveto 0 0 2 -1 7 -1 9 0 rcurveto stroke
1441 \end_layout
1442
1443 \begin_layout Plain Layout
1444
1445       0.3 setlinewidth
1446 \end_layout
1447
1448 \begin_layout Plain Layout
1449
1450       73.85 0 moveto 73.85 -4 lineto stroke
1451 \end_layout
1452
1453 \begin_layout Plain Layout
1454
1455       "
1456 \end_layout
1457
1458 \begin_layout Plain Layout
1459
1460     
1461 \backslash
1462 translate #'(4 .
1463  2) "Präludium"
1464 \end_layout
1465
1466 \begin_layout Plain Layout
1467
1468     
1469 \backslash
1470 translate #'(5 .
1471  -3)   
1472 \backslash
1473 musicglyph #"clefs.G_change"
1474 \end_layout
1475
1476 \begin_layout Plain Layout
1477
1478     
1479 \backslash
1480 translate #'(8 .
1481  -2) 
1482 \backslash
1483 musicglyph #"timesig.C44"
1484 \end_layout
1485
1486 \begin_layout Plain Layout
1487
1488     
1489 \backslash
1490 translate #'(12 .
1491  -5) 
1492 \backslash
1493 note-by-number #1 #0 #DOWN
1494 \end_layout
1495
1496 \begin_layout Plain Layout
1497
1498     
1499 \backslash
1500 translate #'(12 .
1501  -2) 
1502 \backslash
1503 musicglyph #"rests.4"
1504 \end_layout
1505
1506 \begin_layout Plain Layout
1507
1508     
1509 \backslash
1510 translate #'(12 .
1511  0) 
1512 \backslash
1513 musicglyph #"rests.3"
1514 \end_layout
1515
1516 \begin_layout Plain Layout
1517
1518     
1519 \backslash
1520 translate #'(16 .
1521  -4) 
1522 \backslash
1523 note-by-number #3 #0 #DOWN
1524 \end_layout
1525
1526 \begin_layout Plain Layout
1527
1528     
1529 \backslash
1530 translate #'(17.4 .
1531  -4.4) 
1532 \backslash
1533 musicglyph #"dots.dot"
1534 \end_layout
1535
1536 \begin_layout Plain Layout
1537
1538     
1539 \backslash
1540 translate #'(19 .
1541  -3) 
1542 \backslash
1543 note-by-number #2 #0 #UP
1544 \end_layout
1545
1546 \begin_layout Plain Layout
1547
1548     
1549 \backslash
1550 translate #'(23 .
1551  -1.5) 
1552 \backslash
1553 note-by-number #2 #0 #1.2
1554 \end_layout
1555
1556 \begin_layout Plain Layout
1557
1558     
1559 \backslash
1560 translate #'(20.25 .
1561  0) 
1562 \backslash
1563 beam #4 #0.5 #0.40
1564 \end_layout
1565
1566 \begin_layout Plain Layout
1567
1568     
1569 \backslash
1570 translate #'(20.25 .
1571  -1) 
1572 \backslash
1573 beam #4 #0.5 #0.40
1574 \end_layout
1575
1576 \begin_layout Plain Layout
1577
1578     
1579 \backslash
1580 translate #'(27 .
1581  -4) 
1582 \backslash
1583 note-by-number #2 #0 #DOWN
1584 \end_layout
1585
1586 \begin_layout Plain Layout
1587
1588     
1589 \backslash
1590 translate #'(27 .
1591  -0.5) 
1592 \backslash
1593 note-by-number #2 #0 #UP
1594 \end_layout
1595
1596 \begin_layout Plain Layout
1597
1598     
1599 \backslash
1600 translate #'(31 .
1601  -3) 
1602 \backslash
1603 note-by-number #2 #0 #1.7
1604 \end_layout
1605
1606 \begin_layout Plain Layout
1607
1608     
1609 \backslash
1610 translate #'(35 .
1611  -1.5) 
1612 \backslash
1613 note-by-number #2 #0 #1.3
1614 \end_layout
1615
1616 \begin_layout Plain Layout
1617
1618     
1619 \backslash
1620 translate #'(39 .
1621  -0.5) 
1622 \backslash
1623 note-by-number #2 #0 #UP
1624 \end_layout
1625
1626 \begin_layout Plain Layout
1627
1628     
1629 \backslash
1630 translate #'(28.25 .
1631  2.25) 
1632 \backslash
1633 beam #12 #0 #0.4
1634 \end_layout
1635
1636 \begin_layout Plain Layout
1637
1638     
1639 \backslash
1640 translate #'(28.25 .
1641  1.35) 
1642 \backslash
1643 beam #12 #0 #0.4
1644 \end_layout
1645
1646 \begin_layout Plain Layout
1647
1648     
1649 \backslash
1650 translate #'(43 .
1651  -5) 
1652 \backslash
1653 note-by-number #1 #0 #DOWN
1654 \end_layout
1655
1656 \begin_layout Plain Layout
1657
1658     
1659 \backslash
1660 translate #'(43 .
1661  -2) 
1662 \backslash
1663 musicglyph #"rests.4"
1664 \end_layout
1665
1666 \begin_layout Plain Layout
1667
1668     
1669 \backslash
1670 translate #'(43 .
1671  0) 
1672 \backslash
1673 musicglyph #"rests.3"
1674 \end_layout
1675
1676 \begin_layout Plain Layout
1677
1678     
1679 \backslash
1680 translate #'(47 .
1681  -4) 
1682 \backslash
1683 note-by-number #3 #0 #DOWN
1684 \end_layout
1685
1686 \begin_layout Plain Layout
1687
1688     
1689 \backslash
1690 translate #'(48.4 .
1691  -4.4) 
1692 \backslash
1693 musicglyph #"dots.dot"
1694 \end_layout
1695
1696 \begin_layout Plain Layout
1697
1698     
1699 \backslash
1700 translate #'(50 .
1701  -3) 
1702 \backslash
1703 note-by-number #2 #0 #UP
1704 \end_layout
1705
1706 \begin_layout Plain Layout
1707
1708     
1709 \backslash
1710 translate #'(54 .
1711  -1.5) 
1712 \backslash
1713 note-by-number #2 #0 #1.2
1714 \end_layout
1715
1716 \begin_layout Plain Layout
1717
1718     
1719 \backslash
1720 translate #'(51.25 .
1721  0) 
1722 \backslash
1723 beam #4 #0.5 #0.40
1724 \end_layout
1725
1726 \begin_layout Plain Layout
1727
1728     
1729 \backslash
1730 translate #'(51.25 .
1731  -1) 
1732 \backslash
1733 beam #4 #0.5 #0.40
1734 \end_layout
1735
1736 \begin_layout Plain Layout
1737
1738     
1739 \backslash
1740 translate #'(58 .
1741  -4) 
1742 \backslash
1743 note-by-number #2 #0 #DOWN
1744 \end_layout
1745
1746 \begin_layout Plain Layout
1747
1748     
1749 \backslash
1750 translate #'(58 .
1751  -0.5) 
1752 \backslash
1753 note-by-number #2 #0 #UP
1754 \end_layout
1755
1756 \begin_layout Plain Layout
1757
1758     
1759 \backslash
1760 translate #'(62 .
1761  -3) 
1762 \backslash
1763 note-by-number #2 #0 #1.7
1764 \end_layout
1765
1766 \begin_layout Plain Layout
1767
1768     
1769 \backslash
1770 translate #'(66 .
1771  -1.5) 
1772 \backslash
1773 note-by-number #2 #0 #1.3
1774 \end_layout
1775
1776 \begin_layout Plain Layout
1777
1778     
1779 \backslash
1780 translate #'(70 .
1781  -0.5) 
1782 \backslash
1783 note-by-number #2 #0 #UP
1784 \end_layout
1785
1786 \begin_layout Plain Layout
1787
1788     
1789 \backslash
1790 translate #'(59.25 .
1791  2.25) 
1792 \backslash
1793 beam #12 #0 #0.40
1794 \end_layout
1795
1796 \begin_layout Plain Layout
1797
1798     
1799 \backslash
1800 translate #'(59.25 .
1801  1.35) 
1802 \backslash
1803 beam #12 #0 #0.40
1804 \end_layout
1805
1806 \begin_layout Plain Layout
1807
1808   }
1809 \end_layout
1810
1811 \begin_layout Plain Layout
1812
1813 }
1814 \end_layout
1815
1816 \end_inset
1817
1818
1819 \end_layout
1820
1821 \end_inset
1822
1823
1824 \end_layout
1825
1826 \begin_layout Standard
1827 [adapted from 
1828 \begin_inset Flex URL
1829 status collapsed
1830
1831 \begin_layout Plain Layout
1832
1833 http://lsr.dsi.unimi.it/LSR/Item?id=628
1834 \end_layout
1835
1836 \end_inset
1837
1838 ]
1839 \end_layout
1840
1841 \begin_layout Subsection
1842 Tablatures template
1843 \begin_inset CommandInset label
1844 LatexCommand label
1845 name "sub:Tablatures-template"
1846
1847 \end_inset
1848
1849
1850 \end_layout
1851
1852 \begin_layout Standard
1853 \begin_inset Preview
1854
1855 \begin_layout Standard
1856 \begin_inset Flex LilyPond
1857 status collapsed
1858
1859 \begin_layout Plain Layout
1860
1861 upper=  
1862 \backslash
1863 relative c' {
1864 \end_layout
1865
1866 \begin_layout Plain Layout
1867
1868   c4.
1869   g4  g  c
1870 \end_layout
1871
1872 \begin_layout Plain Layout
1873
1874 }
1875 \end_layout
1876
1877 \begin_layout Plain Layout
1878
1879 lower=  
1880 \backslash
1881 relative c {
1882 \end_layout
1883
1884 \begin_layout Plain Layout
1885
1886   c4  e  g,  e'
1887 \end_layout
1888
1889 \begin_layout Plain Layout
1890
1891 }
1892 \end_layout
1893
1894 \begin_layout Plain Layout
1895
1896
1897 \backslash
1898 score {
1899 \end_layout
1900
1901 \begin_layout Plain Layout
1902
1903   
1904 \backslash
1905 new StaffGroup <<
1906 \end_layout
1907
1908 \begin_layout Plain Layout
1909
1910     
1911 \backslash
1912 new Staff = "guitar" <<
1913 \end_layout
1914
1915 \begin_layout Plain Layout
1916
1917       
1918 \backslash
1919 context Voice = "upper guitar" { 
1920 \backslash
1921 clef "G_8" 
1922 \backslash
1923 voiceOne  
1924 \backslash
1925 upper }
1926 \end_layout
1927
1928 \begin_layout Plain Layout
1929
1930       
1931 \backslash
1932 context Voice = "lower guitar" { 
1933 \backslash
1934 clef "G_8" 
1935 \backslash
1936 voiceTwo  
1937 \backslash
1938 lower }
1939 \end_layout
1940
1941 \begin_layout Plain Layout
1942
1943     >>
1944 \end_layout
1945
1946 \begin_layout Plain Layout
1947
1948     
1949 \backslash
1950 new TabStaff = "tab" <<
1951 \end_layout
1952
1953 \begin_layout Plain Layout
1954
1955       
1956 \backslash
1957 context TabVoice = "upper tab" { 
1958 \backslash
1959 clef "moderntab" 
1960 \backslash
1961 voiceOne 
1962 \backslash
1963 upper }
1964 \end_layout
1965
1966 \begin_layout Plain Layout
1967
1968       
1969 \backslash
1970 context TabVoice = "lower tab" { 
1971 \backslash
1972 clef "moderntab" 
1973 \backslash
1974 voiceTwo 
1975 \backslash
1976 lower }
1977 \end_layout
1978
1979 \begin_layout Plain Layout
1980
1981     >>
1982 \end_layout
1983
1984 \begin_layout Plain Layout
1985
1986   >>
1987 \end_layout
1988
1989 \begin_layout Plain Layout
1990
1991 }
1992 \end_layout
1993
1994 \end_inset
1995
1996
1997 \end_layout
1998
1999 \end_inset
2000
2001
2002 \end_layout
2003
2004 \begin_layout Standard
2005 [from 
2006 \begin_inset Flex URL
2007 status collapsed
2008
2009 \begin_layout Plain Layout
2010
2011 http://lsr.dsi.unimi.it/LSR/Item?id=634
2012 \end_layout
2013
2014 \end_inset
2015
2016 ]
2017 \end_layout
2018
2019 \end_body
2020 \end_document