]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/learning/tutorial.itely
abbb984efc88dbdf0a1c98f48207970a0803851b
[lilypond.git] / Documentation / learning / tutorial.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2
3 @ignore
4     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.12.0"
11
12 @node Tutorial
13 @chapter Tutorial
14
15 This chapter gives a basic introduction to working with LilyPond.
16
17 @menu
18 * Compiling a file::
19 * How to write input files::
20 * How to read the manuals::
21 @end menu
22
23 @node Compiling a file
24 @section Compiling a file
25
26 This section introduces @qq{compiling}---the processing of
27 LilyPond input files (written by you) to produce output files.
28
29 @menu
30 * Entering input::
31 * MacOS X::
32 * Windows::
33 * Command-line::
34 @end menu
35
36 @node Entering input
37 @subsection Entering input
38
39 @cindex compiling
40 @cindex first example
41 @cindex example, first
42 @cindex case sensitive
43
44 @qq{Compiling} is the term used for processing an input file in
45 LilyPond format to produce output file(s).  Output files are
46 generally PDF (for printing or viewing), MIDI (for playing), and
47 PNG (for online use).  LilyPond input files are simple text files.
48
49 This example shows a simple input file:
50
51 @example
52 \version "@w{@version{}}"
53 @{
54   c' e' g' e'
55 @}
56 @end example
57
58 The graphical output is:
59
60 @c  in this case we don't want verbatim
61 @lilypond[quote]
62 {
63   c' e' g' e'
64 }
65 @end lilypond
66
67 @warning{Notes and lyrics in LilyPond input must always be
68 surrounded by @w{@strong{@{ curly braces @}}}.  The braces
69 should also be surrounded by a space unless they are at the
70 beginning or end of a line to avoid ambiguities.  They may
71 be omitted in some examples in this manual, but don't forget them
72 in your own music!  For more information about the display of
73 examples in the manual, see @ref{How to read the manuals}.}
74
75 In addition, LilyPond input is @strong{case sensitive}.
76 @w{@code{@{ c d e @}}} is valid input; @w{@code{@{ C D E @}}} will
77 produce an error message.
78
79
80 @smallspace
81
82 @subheading Producing output
83
84 @cindex PDF file
85 @cindex viewing music
86 @cindex text editors
87
88 The method of producing output depends on your operating system
89 and the program(s) you use.
90
91 @itemize
92
93 @item
94 @ref{MacOS X, @sourceimage{logo-macosx,,,}}
95 @ref{MacOS X, MacOS X} (graphical)
96
97 @item
98 @ref{Windows, @sourceimage{logo-windows,,,}}
99 @ref{Windows, Microsoft Windows} (graphical)
100
101 @item
102 @ref{Command-line, @sourceimage{logo-linux,,,}
103 @sourceimage{logo-freebsd,,,}
104 @sourceimage{logo-macosx,,,}
105 @sourceimage{logo-windows,,,}
106 }
107 @ref{Command-line, All operating systems} (command-line)
108
109 @end itemize
110
111 There are several other text editors available with specific
112 support for LilyPond.  For more information, see
113 @rweb{Alternate input}.
114
115 @warning{The first time you ever run LilyPond, it may take a
116 minute or two because all of the system fonts have to be analyzed
117 first.  After this, LilyPond will be much faster!}
118
119 @cindex running LilyPond under MacOS X
120 @cindex MacOS X, running LilyPond
121
122 @node MacOS X
123 @subsection MacOS X
124
125 @warning{These instructions assume that you are using the LilyPond
126 application.  If you are using any of the programs described in
127 @rweb{Alternate input}, please consult the documentation for
128 those programs if you have any problems.}
129
130
131 @subsubheading Step 1. Create your @file{.ly} file
132
133 Double click the @command{LilyPond.app}, an example file will open.
134
135 @sourceimage{Learning_Macos_welcome,,,}
136
137 From the menus along the top left of your screen, select
138 @w{@code{File > Save}}.
139
140 @sourceimage{Learning_Macos_Save_menu,,,}
141
142 Choose a name for your file, for example @file{test.ly}.
143
144 @sourceimage{Learning_Macos_Save_file_with_name,,,}
145
146
147 @subsubheading Step 2. Compile (with LilyPad)
148
149 From the same menus, select
150 @w{@code{Compile > Tyepset}}.
151
152 @sourceimage{Learning_Macos_Typeset_menu,,,}
153
154 A new window will open showing a progress log of the compilation
155 of the file you have just saved.
156
157 @sourceimage{Learning_Macos_Compiling_log,,,}
158
159
160 @subsubheading Step 3. View output
161
162 Once the compilation has finished, a PDF file will be created with
163 the same name as the original file and will be automatically
164 opened in the default PDF viewer and displayed on your screen.
165
166 @sourceimage{Learning_Macos_pdf_output,,,}
167
168
169 @subsubheading Other commands
170
171 To create new files for LilyPond, begin by selecting
172 @w{@code{File > New}}
173
174 @sourceimage{Learning_Macos_New_menu,,,}
175
176 or @w{@code{File > Open}} to open and edit existing files you have
177 saved previously.
178
179 @sourceimage{Learning_Macos_Open_menu,,,}
180
181 You must save any new edits you make to your file before you
182 @w{@code{Compile > Tyepset}} and if the PDF file is not displayed
183 check the window with the progress log for any errors.
184
185 If you are not using the defualt Preview PDF viewer that comes
186 with the Mac Operating system and you have the PDF file generated
187 from a previous compilation open, then any further compilations
188 may fail to generate an update PDF until you close the original.
189
190 @cindex running LilyPond under Windows
191 @cindex Windows, running LilyPond
192
193 @node Windows
194 @subsection Windows
195
196 @warning{These instructions assume that you are using the built-in
197 LilyPad editor.  If you are using any of the programs described in
198 @rweb{Alternate input}, please consult the documentation for
199 those programs if you have any problems compiling a file.}
200
201
202 @subsubheading Step 1. Create your @file{.ly} file
203
204 Double-click the @command{LilyPond.app}, an example file will open.
205
206 @sourceimage{Learning_Win7_Welcome_File_Whole,,,}
207
208 From the menus that appear alonbg the top of the example file,
209 select @w{@code{File > Save as}}. Do not use the @w{@code{File > Save}}
210 for the example file as this will not work until you have given it a
211 valid Lilypong file name.
212
213 @sourceimage{Learning_Win7_Save_Menu,,,}
214
215 Choose a name for your file, for example @file{test.ly}.
216
217 @sourceimage{Learning_Win7_Save_File_With_Name,,,}
218
219
220 @subsubheading Step 2a. Compile (with drag-and-drop)
221
222 Depending on what you prefer, to compile your file either:
223
224 Drag-and-drop the file directly onto the LilyPond icon.
225
226 @sourceimage{Learning_Win7_Open_Dragndrop,,,}
227
228 Right-click on the file and from the pop-up context menu choose
229 @w{@code{Open with > LilyPond}}.
230
231 @sourceimage{Learning_Win7_Open_Context_Menu,,,}
232
233
234 @subsubheading Step 2b. Compile (with double-clicking)
235
236 Or simply double-click the @file{test.ly}.
237
238
239 @subsubheading Step 3. View output
240
241 During the compilation of the @file{test.ly} file, a command window
242 will, very briefly open and then close. Three additional files will
243 have been created during this process.
244
245 @sourceimage{Learning_Win7_All_Files_Created,,,}
246
247 The PDF file contains the engraved @file{test.ly} file.
248
249 @sourceimage{Learning_Win7_Pdf_Output,,,}
250
251
252 @subsubheading Other commands
253
254 To create a new file, begin by selecting @w{@code{File > New}} from
255 within any previously created file.
256
257 @sourceimage{Learning_Win7_New_Menu,,,}
258
259 @noindent
260 or @w{@code{File > Open}} to open and edit any files you have saved
261 before.
262
263 @sourceimage{Learning_Win7_Open_Menu,,,}
264
265 You must save any new edits you make before you compile it and if the
266 PDF file is not created, check the log file that will have been created
267 during the compilation attempt, for any errors.
268
269 @sourceimage{Learning_Win7_Log_File,,,}
270
271 This log file is overwritten each time you compile your LilyPond file.
272
273 The PS file is used internally by LilyPond to create the PDF file and
274 can be ignored. It also gets overwritten each time you compile your
275 file.
276
277 If you are viewing your file in a PDF viewer, then you must close the
278 PDF if you wish to make a new compilation as it may fail to create
279 the new PDF while it is still being viewed.
280
281 @cindex running LilyPond under Unix
282 @cindex Unix, running LilyPond
283
284 @node Command-line
285 @subsection Command-line
286
287 @warning{These instructions assume that you are familiar with
288 command-line programs.  If you are using any of the programs
289 described in @rweb{Alternate input}, please consult the
290 documentation for those programs if you have any problems
291 compiling a file.}
292
293
294 @subsubheading Step 1. Create your @file{.ly} file
295
296 Create a text file called @file{test.ly} and enter:
297
298 @example
299 \version "@w{@version{}}"
300 @{
301   c' e' g' e'
302 @}
303 @end example
304
305
306 @subsubheading Step 2. Compile (with command-line)
307
308 To process @file{test.ly}, type the following at the command prompt:
309
310 @example
311 lilypond test.ly
312 @end example
313
314 @noindent
315 You will see something resembling:
316
317 @example
318 GNU LilyPond @version{}
319 Processing `test.ly'
320 Parsing...
321 Interpreting music...
322 Preprocessing graphical objects...
323 Solving 1 page-breaking chunks...[1: 1 pages]
324 Drawing systems...
325 Layout output to `test.ps'...
326 Converting to `./test.pdf'...
327 @end example
328
329 @subsubheading Step 3. View output
330
331 You may view or print the resulting @file{text.pdf}.
332
333
334 @node How to write input files
335 @section How to write input files
336
337 This section introduces some basic LilyPond syntax to help get you
338 started writing input files.
339
340 @menu
341 * Simple notation::
342 * Working on input files::
343 @end menu
344
345
346 @node Simple notation
347 @subsection Simple notation
348
349 @cindex simple notation
350 @cindex notation, simple
351
352 LilyPond will add some notation elements automatically.  In the
353 next example, we have only specified four pitches, but LilyPond
354 has added a clef, time signature, and rhythms.
355
356 @lilypond[verbatim,quote]
357 {
358   c' e' g' e'
359 }
360 @end lilypond
361
362 @noindent
363 This behavior may be altered, but in most cases these automatic
364 values are useful.
365
366
367 @subheading Pitches
368
369 @cindex pitches
370 @cindex relative mode
371 @cindex quote, single
372 @cindex comma
373 @cindex accidentals and relative mode
374 @cindex relative mode, and accidentals
375
376 @funindex \relative
377 @funindex relative
378 @funindex '
379 @funindex ,
380
381 Music Glossary: @rglos{pitch}, @rglos{interval},
382 @rglos{scale}, @rglos{middle C}, @rglos{octave},
383 @rglos{accidental}.
384
385 The easiest way to enter notes is by using @code{\relative} mode.
386 In this mode, the octave is chosen automatically by assuming the
387 following note is always to be placed closest to the previous
388 note, i.e., it is to be placed in the octave which is within three
389 staff spaces of the previous note.  We begin by entering the most
390 elementary piece of music, a @notation{scale}, in which every note
391 is within just one staff space of the previous note.
392
393 @lilypond[verbatim,quote]
394 % set the starting point to middle C
395 \relative c' {
396   c d e f
397   g a b c
398 }
399 @end lilypond
400
401 The initial note is @notation{middle C}.  Each successive note is
402 placed closest to the previous note -- in other words, the first
403 @code{c} is the closest C to middle C.  This is followed by the
404 closest D to the previous note.  We can create melodies which have
405 larger intervals, still using only @code{\relative} mode:
406
407 @lilypond[verbatim,quote]
408 \relative c' {
409   d f a g
410   c b f d
411 }
412 @end lilypond
413
414 @noindent
415 It is not necessary for the first note of the melody to start on
416 the note which specifies the starting pitch.  In the previous
417 example, the first note -- the @code{d} -- is the closest D to
418 middle C.
419
420 By adding (or removing) quotes @code{'} or commas @code{,} from
421 the @code{@w{\relative c' @{}} command, we can change the starting
422 octave:
423
424 @lilypond[verbatim,quote]
425 % one octave above middle C
426 \relative c'' {
427   e c a c
428 }
429 @end lilypond
430
431 Relative mode can be confusing initially, but is the easiest way
432 to enter most melodies.  Let us see how this relative calculation
433 works in practice.  Starting from a B, which is on the middle line
434 in a treble clef, you can reach a C, D and E within 3 staff spaces
435 going up, and an A, G and F within 3 staff spaces going down.  So
436 if the note following a B is a C, D or E it will be assumed to be
437 above the B, and an A, G or F will be assumed to be below.
438
439 @lilypond[verbatim,quote]
440 \relative c'' {
441   b c  % c is 1 staff space up, so is the c above
442   b d  % d is 2 up or 5 down, so is the d above
443   b e  % e is 3 up or 4 down, so is the e above
444   b a  % a is 6 up or 1 down, so is the a below
445   b g  % g is 5 up or 2 down, so is the g below
446   b f  % f is 4 up or 3 down, so is the f below
447 }
448 @end lilypond
449
450 Exactly the same happens even when any of these notes are
451 sharpened or flattened.  @notation{Accidentals} are
452 @strong{totally ignored} in the calculation of relative position.
453 Precisely the same staff space counting is done from a note at any
454 other position on the staff.
455
456 To add intervals that are larger than three staff spaces, we can
457 raise the @notation{octave} by adding a single quote @code{'} (or
458 apostrophe) to the note name.  We can lower the octave by adding a
459 comma @code{,} to the note name.
460
461 @lilypond[verbatim,quote]
462 \relative c'' {
463   a a, c' f,
464   g g'' a,, f'
465 }
466 @end lilypond
467
468 @noindent
469 To change a note by two (or more!) octaves, we use multiple
470 @code{''} or @code{,,} -- but be careful that you use two single
471 quotes @code{''} and not one double quote @code{"}@tie{}!  The
472 initial value in @code{@w{\relative c'}} may also be modified like
473 this.
474 @c " - keeps quotes in order for context-sensitive editor -td
475
476 @subheading Durations (rhythms)
477
478 @cindex note durations
479 @cindex durations
480 @cindex rhythms
481 @cindex whole note
482 @cindex half note
483 @cindex quarter note
484 @cindex dotted note
485 @cindex notating durations
486
487 Music Glossary: @rglos{beam}, @rglos{duration},
488 @rglos{whole note}, @rglos{half note}, @rglos{quarter note},
489 @rglos{dotted note}.
490
491 The @notation{duration} of a note is specified by a number after
492 the note name:  @code{1} for a @notation{whole note}, @code{2} for
493 a @notation{half note}, @code{4} for a @notation{quarter note} and
494 so on.  @notation{Beams} are added automatically.
495
496 If you do not specify a duration, the previous duration is used
497 for the next note.  The duration of the first note defaults to a
498 quarter.
499
500 @lilypond[verbatim,quote]
501 \relative c'' {
502   a1
503   a2 a4 a8 a
504   a16 a a a a32 a a a a64 a a a a a a a a2
505 }
506 @end lilypond
507
508 To create @notation{dotted notes}, add a dot @code{.} to the
509 duration number.  The duration of a dotted note must be stated
510 explicitly (i.e., with a number).
511
512 @lilypond[verbatim,quote]
513 \relative c'' {
514   a a a4. a8
515   a8. a16 a a8. a8 a4.
516 }
517 @end lilypond
518
519
520 @subheading Rests
521
522 @cindex rest
523 @cindex notating rests
524
525 Music Glossary: @rglos{rest}.
526
527 A @notation{rest} is entered just like a note with the name
528 @code{r}@tie{}:
529
530 @lilypond[verbatim,quote]
531 \relative c'' {
532   a r r2
533   r8 a r4 r4. r8
534 }
535 @end lilypond
536
537
538 @subheading Time signature
539
540 @cindex time signature
541
542 @funindex \time
543 @funindex time
544
545 Music Glossary: @rglos{time signature}.
546
547 The @notation{time signature} can be set with the @code{\time}
548 command:
549
550 @lilypond[verbatim,quote]
551 \relative c'' {
552   \time 3/4
553   a4 a a
554   \time 6/8
555   a4. a
556   \time 4/4
557   a4 a a a
558 }
559 @end lilypond
560
561
562 @subheading Clef
563
564 @cindex clef
565 @cindex treble
566 @cindex alto
567 @cindex tenor
568 @cindex bass
569
570 @funindex \clef
571 @funindex clef
572
573 Music Glossary: @rglos{clef}.
574
575 The @notation{clef} can be set using the @code{\clef} command:
576
577 @lilypond[verbatim,quote]
578 \relative c' {
579   \clef treble
580   c1
581   \clef alto
582   c1
583   \clef tenor
584   c1
585   \clef bass
586   c1
587 }
588 @end lilypond
589
590
591 @subheading All together
592
593 Here is a small example showing all these elements together:
594
595 @lilypond[verbatim,quote]
596 \relative c, {
597   \time 3/4
598   \clef bass
599   c2 e8 c' g'2.
600   f4 e d c4 c, r4
601 }
602 @end lilypond
603
604
605 @seealso
606 Notation Reference: @ruser{Writing pitches},
607 @ruser{Writing rhythms}, @ruser{Writing rests},
608 @ruser{Time signature}, @ruser{Clef}.
609
610
611 @node Working on input files
612 @subsection Working on input files
613
614 @cindex curly braces
615 @cindex braces, curly
616 @cindex comments
617 @cindex line comment
618 @cindex comment, line
619 @cindex block comment
620 @cindex comment, line
621 @cindex case sensitive
622 @cindex whitespace insensitive
623 @cindex expressions
624 @cindex versioning
625 @cindex version
626 @cindex version number
627
628 @funindex \version
629 @funindex { ... }
630 @funindex %
631 @funindex %@{ ... %@}
632
633 LilyPond input files are similar to source files in many common
634 programming languages.  They contain a version statement,
635 are case sensitive, and white-space
636 is generally ignored.  Expressions are formed with curly braces
637 @{ @}, and comments are denoted with @code{%} or
638 @w{@code{%@{ ... %@}}}.
639
640 If the previous sentences sound like nonsense, don't worry!  We'll
641 explain what all these terms mean:
642
643 @itemize
644
645 @item
646 @strong{Version statement}:
647 Every LilyPond file should contain a version statement.  A version
648 statement is a line that describes the version of LilyPond for which
649 the file was written, as in the following example:
650
651 @example
652 \version "@w{@version{}}"
653 @end example
654
655 By convention, the version statement is placed at the top of the
656 LilyPond file.
657
658 The version statement is important for at least two reasons.  First,
659 it allows automatic updating of the input file as LilyPond syntax
660 changes.  Second, it describes the version of LilyPond needed to
661 compile the file.
662
663 If the version statement is omitted from an input file, LilyPond will print
664 a warning during the compilation of the file.
665
666 @item
667 @strong{Case sensitive}:
668 it matters whether you enter a letter in lower case (e.g.
669 @w{@code{a, b, s, t}}) or upper case (e.g.  @w{@code{A, B, S, T}}).
670 Notes are lower case: @w{@code{@{ c d e @}}} is valid input;
671 @w{@code{@{ C D E @}}} will produce an error message.
672
673 @item
674 @strong{Whitespace insensitive}:
675 it does not matter how many spaces (or tabs or new lines) you add.
676 @w{@code{@{ c d e @}}} means the same thing as
677 @w{@code{@{ c @tie{}} @tie{} @tie{} d e @}} and:
678
679 @example
680 @{ c                        d
681                    e   @}
682 @end example
683
684 @noindent
685 Of course, the previous example is hard to read.  A good rule of
686 thumb is to indent code blocks with either a tab or two spaces:
687
688 @example
689 @{
690   c d e
691 @}
692 @end example
693
694 However, whitespace @emph{is} required to separate many syntactical
695 elements from others.  In other words, whitespace can always be
696 @emph{added}, but it cannot be @emph{eliminated}.  As missing
697 whitespace can give rise to strange errors it is advisable to
698 always insert whitespace before and after every syntactic element,
699 for example, before and after every curly brace.
700
701 @item
702 @strong{Expressions}:
703 every piece of LilyPond input needs to have @strong{@{ curly
704 braces @}} placed around the input.  These braces tell LilyPond
705 that the input is a single music expression, just like parentheses
706 @code{()} in mathematics.  The braces should be surrounded by a
707 space unless they are at the beginning or end of a line to avoid
708 ambiguities.
709
710 A LilyPond command followed by a simple expression in braces (such
711 as @w{@code{\relative @{ @}}}) also counts as a single music
712 expression.
713
714 @cindex comments
715 @cindex line comment
716 @cindex block comment
717 @item
718 @strong{Comments}:
719 a comment is a remark for the human reader of the music input; it
720 is ignored while parsing, so it has no effect on the printed
721 output.  There are two types of comments.  The percent symbol
722 @code{%} introduces a line comment; anything after @code{%} on
723 that line is ignored.  By convention, a line comment is placed
724 @emph{above} the code it refers to.
725
726 @example
727 a4 a a a
728 % this comment refers to the Bs
729 b2 b
730 @end example
731
732 A block comment marks a whole section of music input as a comment.
733 Anything that is enclosed in @code{%@{} and @code{%@}} is ignored.
734 However, block comments do not @q{nest}.  This means that you
735 cannot place a block comment inside another block comment.  If you
736 try, the first @code{%@}} will terminate @emph{both} block
737 comments.  The following fragment shows possible uses for
738 comments:
739
740 @example
741 % notes for twinkle twinkle follow
742   c4 c g' g a a g2
743
744 %@{
745   This line, and the notes below are ignored,
746   since they are in a block comment.
747
748   f f e e d d c2
749 %@}
750 @end example
751
752 @end itemize
753
754
755 @node How to read the manuals
756 @section How to read the manuals
757
758 This section shows how to read the documentation efficiently, and
759 also introduces some useful interactive features available in the
760 online version.
761
762 @menu
763 * Omitted material::
764 * Clickable examples::
765 * Keyboard navigation::
766 * Overview of manuals::
767 @end menu
768
769
770 @node Omitted material
771 @subsection Omitted material
772
773
774 @cindex how to read the manual
775 @cindex manual, reading
776 @cindex reading the manual
777 @cindex examples, clickable
778 @cindex clickable examples
779 @cindex tips for constructing files
780 @cindex templates
781 @cindex constructing files, tips
782 @cindex files, tips for constructing
783
784 LilyPond input must be surrounded by @{ @} marks or a
785 @code{@w{\relative c'' @{ ... @}}}, as we saw in @ref{Working on
786 input files}.  For the rest of this manual, most examples will
787 omit this.  To replicate the examples, you may copy and paste the
788 displayed input, but you @strong{must} add the
789 @code{@w{\relative c'' @{ @}}} like this:
790
791 @example
792 \relative c'' @{
793   ... example goes here...
794 @}
795 @end example
796
797 Why omit the braces?  Most examples in this manual can be inserted
798 into the middle of a longer piece of music.  For these examples,
799 it does not make sense to add @code{@w{\relative c'' @{ @}}} --
800 you should not place a @code{\relative} inside another
801 @code{\relative}!  If we included @code{@w{\relative c'' @{ @}}}
802 around every example, you would not be able to copy a small
803 documentation example and paste it inside a longer piece of your
804 own.  Most people want to add material to an existing piece, so we
805 format the manual this way.
806
807 Also, remember that every LilyPond file should have a @code{@bs{}version}
808 statement.  Because the examples in the manuals are snippets, not files,
809 the @code{@bs{}version} statement is omitted.  But you should make a
810 practice of including them in your files.
811
812 @node Clickable examples
813 @subsection Clickable examples
814
815 @warning{This features is only available in the HTML manuals.}
816
817 Many people learn programs by trying and fiddling around with the
818 program.  This is also possible with LilyPond.  If you click on a
819 picture in the HTML version of this manual, you will see the exact
820 LilyPond input that was used to generate that image.  Try it on
821 this image:
822
823 @c no verbatim here
824 @lilypond[quote]
825 \relative c'' {
826   c-\markup { \bold \huge { Click here.  } }
827 }
828 @end lilypond
829
830 By cutting and pasting everything in the @qq{ly snippet} section,
831 you have a starting template for experiments.  To see exactly the
832 same output (line-width and all), copy everything from @qq{Start
833 cut-&-pastable section} to the bottom of the file.
834
835
836 @node Keyboard navigation
837 @subsection Keyboard navigation
838
839 @warning{This features is only available in the HTML manuals.}
840
841 @c TODO: once this is figured out, insert it here.
842
843 We are currently working on this feature.
844
845
846 @node Overview of manuals
847 @subsection Overview of manuals
848
849 There is a lot of documentation for LilyPond.  New users are
850 sometimes confused about what part(s) they should read, and
851 occasionally skip over reading vital portions.
852
853 @warning{Please do not skip over important parts of the
854 documentation.  You will find it much harder to understand later
855 sections.}
856
857 @itemize
858
859 @item
860 @strong{Before trying to do @emph{anything}}: read the Learning
861 manual's @ref{Tutorial}, and @ref{Common notation}.  If you
862 encounter musical terms which you do not recognize, please look
863 them up in the @rglosnamed{Top, Glossary}.
864
865 @item
866 @strong{Before trying to write a complete piece of music}: read
867 the Learning manual's @ref{Fundamental concepts}.  After that, you
868 may want to look in relevant sections of the
869 @rusernamed{Top, Notation reference}.
870
871 @item
872 @strong{Before trying to change the default output}: read the
873 Learning manual's @ref{Tweaking output}.
874
875 @item
876 @strong{Before undertaking a large project}: read Usage document's
877 @rprogram{Suggestions for writing files}.
878
879 @end itemize
880
881
882