From: Graham Percival Date: Tue, 14 Dec 2004 00:56:06 +0000 (+0000) Subject: Untested doc patches. Hopefully will not break anything. X-Git-Tag: release/2.5.14~420 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ea34670b2026683cfaa7bf48c7bac0f826316e49;p=lilypond.git Untested doc patches. Hopefully will not break anything. --- diff --git a/ChangeLog b/ChangeLog index beff39089b..d8ef7b3af5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-12-13 Graham Percival + + * input/regression/figured-bass.ly: attempt to clarify text. + + * Documentation/user/notation.tely: add cindex for tag, attempt to + add figured bass example. + + * Documentation/user/changing-defaults: basic editing. + 2004-12-13 Han-Wen Nienhuys * buildscripts/gen-bigcheese-scripts.py (i): load .subfonts table. diff --git a/Documentation/user/changing-defaults.itely b/Documentation/user/changing-defaults.itely index 098949bc18..b7f9676c2a 100644 --- a/Documentation/user/changing-defaults.itely +++ b/Documentation/user/changing-defaults.itely @@ -282,7 +282,17 @@ c8 c c c @noindent the @var{context} argument to @code{\set} is left out, so automatic -beaming is switched off in the current @internalsref{Voice}. +beaming is switched off in the current @internalsref{Voice}. Note that +the bottom-most context does not always contain the property that you +wish to change -- for example, attempting to set the @code{skipBars} +property (of the bottom-most context, in this case @code{Voice}) will +have no effect. + +@lilypond[quote,verbatim,relative=2,fragment] +R1*2 +\set skipBars = ##t +R1*2 +@end lilypond Contexts are hierarchical, so if a bigger context was specified, for example @context{Staff}, then the change would also apply to all @@ -431,7 +441,7 @@ context, we can have a score where each staff has its own time signature. @cindex polymetric scores - +@cindex Time signatures, multiple @lilypond[quote,relative=1,raggedright,verbatim,fragment] \new Score \with { @@ -1278,6 +1288,8 @@ is one. For example, if using this with @code{Slur}, @node Fonts @section Fonts +This section details the ways that the font can be changed. + @menu * Selecting font sizes:: * Font selection:: @@ -1645,16 +1657,16 @@ titles. @menu * Setting global staff size:: +* Paper size:: +* Page layout:: * Vertical spacing of piano staves:: * Vertical spacing:: * Horizontal spacing:: * Line length:: * Line breaking:: +* Page breaking:: * Multiple movements:: * Creating titles:: -* Page breaking:: -* Paper size:: -* Page layout:: @end menu @@ -1665,6 +1677,16 @@ titles. @cindex staff size, setting @cindex @code{layout} file +To set the global staff size, use @code{set-global-staff-size}. + +@example +#(set-global-staff-size 14) +@end example + +@noindent +This sets the global default size to 14pt staff height and scales all +fonts accordingly. + The Feta font provides musical symbols at eight different sizes. Each font is tuned for a different staff size: at a smaller size the font becomes heavier, to match the relatively heavier staff lines. @@ -1725,22 +1747,208 @@ The recommended font sizes are listed in the following table: These fonts are available in any sizes. The context property @code{fontSize} and the layout property @code{staff-space} (in @internalsref{StaffSymbol}) can be used to tune the size for individual -staves. The sizes of individual staves are relative to the global size, -which can be set in the following manner: +staves. The sizes of individual staves are relative to the global size. @example -#(set-global-staff-size 14) -@end example -@noindent -This sets the global default size to 14pt staff height and scales all -fonts accordingly. +@end example @seealso This manual: @ref{Selecting font sizes}. +@node Paper size +@subsection Paper size + +@cindex paper size +@cindex page size +@cindex @code{papersize} + +To change the paper size, there are two equal commands, +@example +#(set-default-paper-size "a4") +\paper @{ + #(set-paper-size "a4") +@} +@end example + +The first command sets the size of all pages. The second command sets the size +of the pages that the @code{\paper} block applies to -- if the @code{\paper} +block is at the top of the file, then it will apply to all pages. If the +@code{\paper} block is inside a @code{\score}, then the paper size will only +apply to that score. + +The following paper sizes are supported: @code{a6}, @code{a5}, @code{a4}, +@code{a3}, @code{legal}, @code{letter}, @code{tabloid}. + +@cindex orientation +@cindex landscape + +If the symbol @code{landscape} is supplied as an argument to +@code{set-default-paper-size}, the pages will be rotated by 90 degrees, +and wider line widths will be set correspondingly. + +@example +#(set-default-paper-size "a6" 'landscape) +@end example + +@node Page layout +@subsection Page layout + +@cindex page layout +@cindex margins +@cindex header, page +@cindex footer, page + +LilyPond will do page layout, set margins, and add headers and +footers to each page. + +The default layout responds to the following settings in the +@code{\paper} block. + +@cindex \paper + +@quotation +@table @code +@item firstpagenumber +The value of the page number of the first page. Default is@tie{}1. + +@item printfirstpagenumber +If set to true, will print the page number in the first page. Default is +false. + +@item hsize +The width of the page. + +@item vsize +The height of the page. + +@item topmargin +Margin between header and top of the page. + +@item bottommargin +Margin between footer and bottom of the page. + +@item leftmargin +Margin between the left side of the page and the beginning of the music. + +@item linewidth +The length of the systems. + +@item headsep +Distance between the top-most music system and the page header. + +@item footsep +Distance between the bottom-most music system and the page footer. + +@item raggedbottom +If set to true, systems will not be spread across the page. + +This should be set false for pieces that have only two or three +systems per page, for example orchestral scores. + +@item raggedlastbottom +If set to false, systems will be spread to fill the last page. + +Pieces that amply fill two pages or more should have this set to +true. + +@item betweensystemspace +This dimensions determines the distance between systems. It is the +ideal distance between the center of the bottom staff of one system +and the center of the top staff of the next system. + +Increasing this will provide a more even appearance of the page at the +cost of using more vertical space. + +@item betweensystempadding +This dimension is the minimum amount of white space that will always +be present between the bottom-most symbol of one system, and the +top-most of the next system. + +Increasing this will put systems whose bounding boxes almost touch +farther apart. + +@item aftertitlespace +Amount of space between the title and the first system. + +@item beforetitlespace +Amount of space between the last system of the previous piece and the +title of the next. + +@item betweentitlespace +Amount of space between consecutive titles (e.g., the title of the +book and the title of a piece). + +@end table +@end quotation + +Example: + +@example +\paper@{ + hsize = 2\cm + topmargin = 3\cm + bottommargin = 3\cm + raggedlastbottom = ##t +@} +@end example + +You can also define these values in Scheme. In that case @code{mm}, +@code{in}, @code{pt}, and @code{cm} are variables defined in +@file{paper-defaults.ly} with values in millimeters. That's why the +value has to be multiplied in the example + +@example +\paper @{ + #(define bottommargin (* 2 cm)) +@} +@end example + +@cindex copyright +@cindex tagline + +The default footer is empty, except for the first page, where the +@code{copyright} field from @code{\header} is inserted, and the last +page, where @code{tagline} from @code{\header} is added. The default +tagline is ``Engraved by LilyPond (@var{version})''.@footnote{Nicely +printed parts are good PR for us, so please leave the tagline if you +can.} + +The header and footer are created by the functions @code{make-footer} +and @code{make-header}, defined in @code{\paper}. The default +implementations are in @file{scm/@/page@/-layout@/.scm}. + +The following settings influence the header and footer layout. + +@quotation +@table @code +@item printpagenumber + this boolean controls whether a pagenumber is printed. +@end table +@end quotation + +The page layout itself is done by two functions in the +@code{\paper} block, @code{page-music-height} and +@code{page-make-stencil}. The former tells the line-breaking algorithm +how much space can be spent on a page, the latter creates the actual +page given the system to put on it. + + +@seealso + +Examples: @inputfileref{input/@/test,page@/-breaks@/.ly} + +@refbugs + +The option rightmargin is defined but doesn't set the right margin +yet. The value for the right margin has to be defined adjusting the +values of the leftmargin and linewidth. + +The default page header puts the page number and the @code{instrument} +field from the @code{\header} block on a line. + @node Vertical spacing of piano staves @@ -2024,6 +2232,26 @@ This makes the following 28 measures (assuming 4/4 time) be broken every Internals: @internalsref{BreakEvent}. +@node Page breaking +@subsection Page breaking + +The default page breaking may be overriden by inserting +@code{\pageBreak} or @code{\noPageBreak} commands. These commands are +analogous to @code{\break} and @code{\noBreak}. They should be +inserted at a bar line. These commands force and forbid a page-break +from happening. Of course, the @code{\pageBreak} command also forces +a line break. + +Page breaks are computed by the @code{page-breaking} function in the +@code{\paper} block. + +@refcommands + +@cindex @code{\pageBreak} +@code{\pageBreak} +@cindex @code{\noPageBreak} +@code{\noPageBreak} + @node Multiple movements @subsection Multiple movements @@ -2083,6 +2311,7 @@ the top of the file is inserted. @} @end example + @node Creating titles @subsection Creating titles @@ -2125,7 +2354,6 @@ To whom the piece is dedicated. @item piece Name of the piece, flush-left below the instrument. - @cindex page breaks, forcing @item breakbefore This forces the title to start on a new page. @@ -2237,220 +2465,6 @@ composer flush right on a single line. - -@node Page breaking -@subsection Page breaking - -The default page breaking may be overriden by inserting -@code{\pageBreak} or @code{\noPageBreak} commands. These commands are -analogous to @code{\break} and @code{\noBreak}. They should be -inserted with a bar line. These commands force and forbid a page-break -from happening. Of course, the @code{\pageBreak} command also forces -a line break. - -Page breaks are computed by the @code{page-breaking} function in the -@code{\paper} block. - -@refcommands - -@cindex @code{\pageBreak} -@code{\pageBreak} -@cindex @code{\noPageBreak} -@code{\noPageBreak} - -@node Paper size -@subsection Paper size - -@cindex paper size -@cindex page size -@cindex @code{papersize} - -To change the paper size, there are two equal commands, -@example -#(set-default-paper-size "a4") -\paper @{ - #(set-paper-size "a4") -@} -@end example - -The first command sets the size of all pages. The second command sets the size -of the pages that the @code{\paper} block applies to -- if the @code{\paper} -block is at the top of the file, then it will apply to all pages. If the -@code{\paper} block is inside a @code{\score}, then the paper size will only -apply to that score. - -The following paper sizes are supported: @code{a6}, @code{a5}, @code{a4}, -@code{a3}, @code{legal}, @code{letter}, @code{tabloid}. - -@cindex orientation -@cindex landscape - -If the symbol @code{landscape} is supplied as an argument to -@code{set-default-paper-size}, the pages will be rotated by 90 degrees, -and wider line widths will be set correspondingly. - -@example -#(set-default-paper-size "a6" 'landscape) -@end example - -@node Page layout -@subsection Page layout - -@cindex page layout -@cindex margins -@cindex header, page -@cindex footer, page - -LilyPond will do page layout, set margins, and add headers and -footers to each page. - -The default layout responds to the following settings in the -@code{\paper} block. - -@cindex \paper - -@quotation -@table @code -@item firstpagenumber -The value of the page number of the first page. Default is@tie{}1. - -@item printfirstpagenumber -If set to true, will print the page number in the first page. Default is -false. - -@item hsize -The width of the page. - -@item vsize -The height of the page. - -@item topmargin -Margin between header and top of the page. - -@item bottommargin -Margin between footer and bottom of the page. - -@item leftmargin -Margin between the left side of the page and the beginning of the music. - -@item linewidth -The length of the systems. - -@item headsep -Distance between the top-most music system and the page header. - -@item footsep -Distance between the bottom-most music system and the page footer. - -@item raggedbottom -If set to true, systems will not be spread across the page. - -This should be set false for pieces that have only two or three -systems per page, for example orchestral scores. - -@item raggedlastbottom -If set to false, systems will be spread to fill the last page. - -Pieces that amply fill two pages or more should have this set to -true. - -@item betweensystemspace -This dimensions determines the distance between systems. It is the -ideal distance between the center of the bottom staff of one system -and the center of the top staff of the next system. - -Increasing this will provide a more even appearance of the page at the -cost of using more vertical space. - -@item betweensystempadding -This dimension is the minimum amount of white space that will always -be present between the bottom-most symbol of one system, and the -top-most of the next system. - -Increasing this will put systems whose bounding boxes almost touch -farther apart. - -@item aftertitlespace -Amount of space between the title and the first system. - -@item beforetitlespace -Amount of space between the last system of the previous piece and the -title of the next. - -@item betweentitlespace -Amount of space between consecutive titles (e.g., the title of the -book and the title of a piece). - -@end table -@end quotation - -Example: - -@example -\paper@{ - hsize = 2\cm - topmargin = 3\cm - bottommargin = 3\cm - raggedlastbottom = ##t -@} -@end example - -You can also define these values in Scheme. In that case @code{mm}, -@code{in}, @code{pt}, and @code{cm} are variables defined in -@file{paper-defaults.ly} with values in millimeters. That's why the -value has to be multiplied in the example - -@example -\paper @{ - #(define bottommargin (* 2 cm)) -@} -@end example - -@cindex copyright -@cindex tagline - -The default footer is empty, except for the first page, where the -@code{copyright} field from @code{\header} is inserted, and the last -page, where @code{tagline} from @code{\header} is added. The default -tagline is ``Engraved by LilyPond (@var{version})''.@footnote{Nicely -printed parts are good PR for us, so please leave the tagline if you -can.} - -The header and footer are created by the functions @code{make-footer} -and @code{make-header}, defined in @code{\paper}. The default -implementations are in @file{scm/@/page@/-layout@/.scm}. - -The following settings influence the header and footer layout. - -@quotation -@table @code -@item printpagenumber - this boolean controls whether a pagenumber is printed. -@end table -@end quotation - -The page layout itself is done by two functions in the -@code{\paper} block, @code{page-music-height} and -@code{page-make-stencil}. The former tells the line-breaking algorithm -how much space can be spent on a page, the latter creates the actual -page given the system to put on it. - - -@seealso - -Examples: @inputfileref{input/@/test,page@/-breaks@/.ly} - -@refbugs - -The option rightmargin is defined but doesn't set the right margin -yet. The value for the right margin has to be defined adjusting the -values of the leftmargin and linewidth. - -The default page header puts the page number and the @code{instrument} -field from the @code{\header} block on a line. - - - @node File structure @section File structure @@ -2516,7 +2530,14 @@ expressions. 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}. - + +@item An indentifier, such as +@example +foo = @{ c4 d e d @} +@end example + +This can be used later on in the file by entering @code{\foo}. + @end itemize The following example shows three things that may be entered at diff --git a/Documentation/user/notation.itely b/Documentation/user/notation.itely index 772940bfea..6c3ec3bd8b 100644 --- a/Documentation/user/notation.itely +++ b/Documentation/user/notation.itely @@ -5551,6 +5551,7 @@ staff. See @inputfileref{input/@/test,ossia@/.ly} for an example. @node Different editions from one source @subsection Different editions from one source +@cindex tag The @code{\tag} command marks music expressions with a name. These tagged expressions can be filtered out later. With this mechanism it is possible to make different versions of the same music source. @@ -5584,6 +5585,8 @@ c1-\tag #'part ^4 This defines a note with a conditional fingering indication. +@cindex keepWithTag +@cindex removeWithTag By applying the @code{\keepWithTag} and @code{\removeWithTag} commands, tagged expressions can be filtered. For example, @example @@ -7665,10 +7668,11 @@ LilyPond has limited support for figured bass @lilypond[quote,raggedright,verbatim,fragment] << - \context Voice { \clef bass dis4 c d ais } + \context Voice { \clef bass dis4 c d ais g fis} \context FiguredBass \figuremode { < 6 >4 < 7 >8 < 6+ [_!] > < 6 >4 <6 5 [3+] > + < _ >4 < 6 >4 } >> @end lilypond diff --git a/input/regression/figured-bass.ly b/input/regression/figured-bass.ly index 1cd60a3722..55f8a5feab 100644 --- a/input/regression/figured-bass.ly +++ b/input/regression/figured-bass.ly @@ -1,8 +1,8 @@ \version "2.4.0" \header { texidoc = " -Figured bass is created by the FiguredBass context which eats -figured bass requests and rest-requests. You must enter these using +Figured bass is created by the FiguredBass context which responds to +figured bass requests and rest-requests. You must enter these using the special @code{\figuremode @{ @}} mode, which allows you to type numbers, like @code{<4 6+>}.