X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Finput.itely;h=1ef43544237ac75af708688016130c7cd0949494;hb=42d5df998cb69b0c66f967b3b5043e83bc504be6;hp=c152fab0dd7d8ae6c08da3dc0c31d76440161440;hpb=cd6d449de0bfc3236b87fbec08389697be8cae81;p=lilypond.git diff --git a/Documentation/notation/input.itely b/Documentation/notation/input.itely index c152fab0dd..1ef4354423 100644 --- a/Documentation/notation/input.itely +++ b/Documentation/notation/input.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.12.0" +@c \version "2.13.36" @node General input and output @chapter General input and output @@ -29,7 +29,7 @@ rather than specific notation. @section Input structure The main format of input for LilyPond are text files. By convention, -these files end with @code{.ly}. +these files end with @file{.ly}. @menu * Structure of a score:: @@ -146,7 +146,7 @@ and texts are entered with a @code{\markup} block, @funindex \book -All the movements and texts which appear in the same @code{.ly} file +All the movements and texts which appear in the same @file{.ly} file will normally be typeset in the form of a single output file. @example @@ -219,11 +219,13 @@ title, like the book itself, by specifying a @code{\header} block. @node Multiple output files from one input file @subsection Multiple output files from one input file -If you want multiple output files from the same .ly file, then you can -add multiple @code{\book} blocks, where each such \book block will -result in a separate output file. If you do not specify any -@code{\book} block in the input file, LilyPond will implicitly treat -the whole file as a single \book block, see @ref{File structure}. +If you want multiple output files from the same @file{.ly} file, +then you can add multiple @code{\book} blocks, where each +such \book block will result in a separate output file. +If you do not specify any @code{\book} block in the +input file, LilyPond will implicitly treat the whole +file as a single \book block, see +@ref{File structure}. When producing multiple files from a single source file, Lilypond ensures that none of the output files from any @code{\book} block @@ -343,7 +345,7 @@ The file above will produce these output files: @funindex \book @funindex \bookpart -A @code{.ly} file may contain any number of toplevel expressions, where a +A @file{.ly} file may contain any number of toplevel expressions, where a toplevel expression is one of the following: @itemize @@ -369,7 +371,7 @@ A @code{\score} block. This score will be collected with other toplevel scores, and combined as a single @code{\book}. This behavior can be changed by setting the variable @code{toplevel-score-handler} at toplevel. The default handler is -defined in the init file @file{../@/scm/@/lily@/.scm}. +defined in the init file @file{../scm/lily.scm}. @item A @code{\book} block logically combines multiple movements @@ -377,14 +379,14 @@ A @code{\book} block logically combines multiple movements are a number of @code{\score}s, one output file will be created for each @code{\book} block, in which all corresponding movements are concatenated. The only reason to explicitly specify -@code{\book} blocks in a @code{.ly} file is if you wish to create +@code{\book} blocks in a @file{.ly} file is if you wish to create multiple output files from a single input file. One exception is within lilypond-book documents, where you explicitly have to add a @code{\book} block if you want more than a single @code{\score} or @code{\markup} in the same example. This behavior can be changed by setting the variable @code{toplevel-book-handler} at toplevel. The default handler is defined in the init file -@file{../@/scm/@/lily@/.scm}. +@file{../scm/lily.scm}. @item A @code{\bookpart} block. A book may be divided into several parts, @@ -418,7 +420,7 @@ music expression will be translated into This behavior can be changed by setting the variable @code{toplevel-music-handler} at toplevel. The default handler is -defined in the init file @file{../@/scm/@/lily@/.scm}. +defined in the init file @file{../scm/lily.scm}. @item A markup text, a verse for example @@ -514,7 +516,7 @@ some pieces include a lot more information. @menu * Creating titles:: -* Custom titles:: +* Custom headers footers and titles:: * Reference to page numbers:: * Table of contents:: @end menu @@ -706,12 +708,12 @@ Headers may be completely removed by setting them to false. @end example -@node Custom titles -@subsection Custom titles +@node Custom headers footers and titles +@subsection Custom headers, footers, and titles A more advanced option is to change the definitions of the following variables in the @code{\paper} block. The init file -@file{../@/ly/@/titling@/-init@/.ly} lists the default layout. +@file{../ly/titling-init.ly} lists the default layout. @table @code @funindex bookTitleMarkup @@ -759,16 +761,48 @@ the name of the movement (@code{piece} field). The following definition will put the title flush left, and the composer flush right on a single line. -@verbatim -\paper { - bookTitleMarkup = \markup { - \fill-line { +@example +\paper @{ + bookTitleMarkup = \markup @{ + \fill-line @{ \fromproperty #'header:title \fromproperty #'header:composer - } - } -} -@end verbatim + @} + @} +@} +@end example + +The header and footer are created by the functions +@code{make-header} and @code{make-footer}, defined in +@code{\paper}. The default implementations are in +@file{ly/paper-defaults-init.ly} and +@file{ly/titling-init.ly}. + +This example centers page numbers at the bottom of every page. + +@example +\paper @{ + print-page-number = ##t + print-first-page-number = ##t + oddHeaderMarkup = \markup \fill-line @{ " " @} + evenHeaderMarkup = \markup \fill-line @{ " " @} + oddFooterMarkup = \markup @{ + \fill-line @{ + \bold \fontsize #3 + \on-the-fly #print-page-number-check-first + \fromproperty #'page:page-number-string + @} + @} + evenFooterMarkup = \markup @{ + \fill-line @{ + \bold \fontsize #3 + \on-the-fly #print-page-number-check-first + \fromproperty #'page:page-number-string + @} + @} +@} +@end example + @node Reference to page numbers @subsection Reference to page numbers @@ -925,7 +959,7 @@ tocAct = @seealso -Init files: @file{../@/ly/@/toc@/-init@/.ly}. +Init files: @file{../ly/toc-init.ly}. @predefined @@ -1402,7 +1436,7 @@ lyrics and as stand-alone text below the score: } \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } } } -\markup { "Copyright 2008--2010" \char ##x00A9 } +\markup { "Copyright 2008--2011" \char ##x00A9 } @end lilypond @cindex copyright sign @@ -1526,14 +1560,12 @@ This property is also used to control output to the MIDI file. Note that it skips all events, including tempo and instrument changes. You have been warned. -@lilypond[quote,fragment,ragged-right,verbatim] -\relative c'' { - c8 d - \set Score.skipTypesetting = ##t - e8 e e e e e e e - \set Score.skipTypesetting = ##f - c8 d b bes a g c2 -} +@lilypond[quote,relative=2,ragged-right,verbatim] +c8 d +\set Score.skipTypesetting = ##t +e8 e e e e e e e +\set Score.skipTypesetting = ##f +c8 d b bes a g c2 @end lilypond In polyphonic music, @code{Score.skipTypesetting} will affect all @@ -1789,7 +1821,7 @@ tempoWholesPerMinute = #(ly:make-moment 270 8) Context definitions follow precisely the same syntax as those within a @code{\layout} block. Translation modules for sound are called performers. The contexts for MIDI output are defined in -@file{../@/ly/@/performer@/-init@/.ly}, +@file{../ly/performer-init.ly}, see @rlearning{Other sources of information}. For example, to remove the effect of dynamics from the MIDI output, insert the following lines in the @@ -1922,7 +1954,7 @@ Dynamic marks are translated to a fixed fraction of the available MIDI volume range. The default fractions range from 0.25 for @notation{ppppp} to 0.95 for @notation{fffff}. The set of dynamic marks and the associated fractions can be seen in -@file{../@/scm/@/midi.scm}, see @rlearning{Other sources of information}. +@file{../scm/midi.scm}, see @rlearning{Other sources of information}. This set of fractions may be changed or extended by providing a function which takes a dynamic mark as its argument and returns the required fraction, and setting @@ -1962,7 +1994,7 @@ found, or calls the default function otherwise. Alternatively, if the whole table of fractions needs to be redefined, it would be better to use the @notation{default-dynamic-absolute-volume} procedure in -@file{../@/scm/@/midi.scm} and the associated table as a model. +@file{../scm/midi.scm} and the associated table as a model. The final example in this section shows how this might be done. @unnumberedsubsubsec Overall MIDI volume @@ -2073,7 +2105,7 @@ If the MIDI minimum and maximum volume properties are not set LilyPond will, by default, apply a small degree of equalization to a few instruments. The instruments and the equalization applied are shown in the table @notation{instrument-equalizer-alist} -in @file{../@/scm/@/midi.scm}. +in @file{../scm/midi.scm}. This basic default equalizer can be replaced by setting @code{instrumentEqualizer} in the @code{Score} context to a new @@ -2083,7 +2115,7 @@ maximum volumes to be applied to that instrument. This replacement is done in the same way as shown for resetting the @code{dynamicAbsoluteVolumeFunction} at the start of this section. The default equalizer, @notation{default-instrument-equalizer}, in -@file{../@/scm/@/midi.scm} shows how such a procedure might be written. +@file{../scm/midi.scm} shows how such a procedure might be written. The following example sets the relative flute and clarinet volumes to the same values as the previous example.