staff-size.
* scm/paper.scm: new file.
(set-staff-size): new function
(set-paper-size): new function
* Documentation/user/refman.itely (Fermatas): document \lyricsto
@end ignore
@itemize @bullet
+@item Default staff sizes are now scalable. There are two new mechanisms for
+setting staff sizes is, both demonstrated in this fragment
+
+@example
+ #(set-staff-size 15)
+ \paper {
+ #(paper-set-staff-size (* 15 pt))
+ }
+@end example
+
+@noindent
+Both have the same effect on the global layout of a
+piece. Similarly, the paper size may be changed as follows
+
+@example
+ #(set-paper-size "a4")
+@end example
+
+@item
+ The black note head was made a little rounder, which causes a less
+ frantic graphic impression.
@item
A more concise syntax for checking octaves was introduced. A note may
@cindex @code{paper} file
The Feta font provides musical symbols at eight seven different
-sizes. Each font is tuned for a different staff size, which are listed
-in the following table:
+sizes. Each font is tuned for a different staff size: at smaller sizes
+the font gets heavier, to match the relatively heavier staff lines.
+The recommended font sizes are listed in the following table:
@multitable @columnfractions .3 .3 .4
@end multitable
-These standard sizes can be used by including the file @file{paperSZ.ly}, where
-@code{SZ} is one of 11, 13, 16, 20, 23 and 26. If you include any
-of these files, the variables @code{paperEleven},
-@code{paperThirteen}, @code{paperSixteen}, @code{paperEightteen},
-@code{paperTwenty}, @code{paperTwentythree}, and @code{paperTwentysix}
-are defined respectively. The default @code{\paper} block is also
-set. These files should be imported at toplevel, i.e.
+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 size for individual
+staffs. The size of individual staffs are relative to the global size,
+which can be set in the following manner:
+
@example
- \include "paper26.ly"
- \score @{ ... @}
+ #(set-staff-size 14)
@end example
-Sizes can also be
-
-
-The default font size settings for each staff heights are generated
-from the 20pt style sheet. For more details, see the file
-@file{scm/font.scm}.
-
+This sets the global default size to 14pt staff height, and scales all
+fonts accordingly.
- of starting from 11 point
-(. These fonts are 11 point, 13 point, 16 point, 20 point, 23 point,
-and 26 point. The point size of a font is the height of the
-corresponding staff (excluding line thicknesses).
-
-Definitions for these sizes are the files
@node Line breaking
@cindex page size
@cindex @code{papersize}
-To change the paper size, you must first set the @code{papersize} paper
-variable variable as in the example below. Set it to
-the strings @code{a4}, @code{letter}, or @code{legal}. After this
-specification, you must set the font as described above. If you want
-the default font, then use the 20 point font.
-
+To change the paper size, use the following Scheme code:
@example
- \paper@{ papersize = "a4" @}
- \include "paper16.ly"
+ \paper@{
+ #(set-paper-size "a4")
+ @}
@end example
-The file @code{paper16.ly} will now include a file named @file{a4.ly}, which
-will set the paper variables @code{hsize} and @code{vsize} (used by
-@code{lilypond-book} and @code{lilypond}).
-
@refcommands
#(ly:set-option 'old-relative)
-\version "2.1.7"
+\version "2.1.11"
% ASCII Art output
%
% Process as:
#(ly:set-option 'old-relative)
-\version "2.1.7"
+\version "2.1.11"
% test for ascii-art output
#(ly:set-option 'old-relative)
-\version "2.1.7"
+\version "2.1.11"
% ASCII Art output
%
% Process as:
#(ly:set-option 'old-relative)
-\version "2.1.7"
+\version "2.1.11"
% ASCII Art output
%
% Process as:
#(ly:set-option 'old-relative)
-\version "2.1.7"
+\version "2.1.11"
% ASCII Art output
%
% Process as:
#(ly:set-option 'old-relative)
-\version "2.1.7"
+\version "2.1.11"
% ASCII Art output
%
% Process as:
#(ly:set-option 'old-relative)
-\version "2.1.7"
+\version "2.1.11"
% ASCII Art output
% Process as:
#(ly:set-option 'old-relative)
-\version "2.1.7"
+\version "2.1.11"
% ASCII Art output
%
% Process as:
footer = "Mutopia-2001/04/27-xx"
}
-\version "2.1.10"
+\version "2.1.11"
dynamicUp = \property Voice.DynamicLineSpanner \override #'direction = #1
dynamicRevert = \property Voice.DynamicLineSpanner \revert #'direction
-\include "paper16.ly"
+#(set-staff-size 16)
vocalVerse = \notes\relative c''{
\dynamicUp
-#(ly:set-option 'old-relative)
\header {
title = "Fuga a 3 voci"
opus = "BWV 847-Fuga"
the few forced linebreaks were an earlier attempt to get the spacing
to match up.
-%\include "paper19.ly"
%}
\include "deutsch.ly"
-\include "paper16.ly"
-\version "2.1.7"
+#(set-staff-size 16)
+\version "2.1.11"
\header {
title = "Romanzen"
-\version "2.1.7"
+\version "2.1.11"
\header{
filename = "denneboom.ly"
enteredby = "jcn"
}
%{ file tests silly line shapes %}
-\include "paper20.ly"
+#(set-staff-size 20)
#(ly:set-option 'old-relative)
-\version "2.1.7"
+\version "2.1.11"
\header {
texidoc = "@cindex Midi Volume Equaliser
The full orchestra plays a notes, where groups stop one after
another. Use this to tune equalizer settings. "
}
-\include "paper16-init.ly"
+#(set-staff-size 16)
%{
-\version "2.1.7"
+\version "2.1.11"
\header {
title = "Puer natus est nobis (excerptum)"
subtitle = "Antiphona ad introitum VII"
}
-\include "paper26.ly"
+#(set-staff-size 26)
\include "gregorian-init.ly"
%%% N.B.: Yes, I know, the formatting of the following looks awful,
-\version "2.1.7"
+\version "2.1.11"
\header{
texidoc="
-\include "paper11.ly"
+#(set-staff-size 11)
\include "allfontstyle.lyinc"
-\version "2.1.7"
+\version "2.1.11"
foollilypondbook = "
\score
"
texidoc ="Staff height 13 pt."
}
-\include "paper13.ly"
+#(set-staff-size 13)
\include "allfontstyle.lyinc"
-\version "2.1.7"
+\version "2.1.11"
foollilypondbook = "
\score
"
-\include "paper16.ly"
+#(set-staff-size 16)
\include "allfontstyle.lyinc"
-\version "2.1.7"
+\version "2.1.11"
foollilypondbook = "
\score
"
-\include "paper20.ly"
+#(set-staff-size 20)
\include "allfontstyle.lyinc"
-\version "2.1.7"
+\version "2.1.11"
foollilypondbook = "
\score
"
}
-\include "paper23.ly"
+#(set-staff-size 23)
\include "allfontstyle.lyinc"
-\version "2.1.7"
+\version "2.1.11"
foollilypondbook = "
\score
"
-\include "paper26.ly"
+#(set-staff-size 26)
\include "allfontstyle.lyinc"
-\version "2.1.7"
+\version "2.1.11"
\header {
title = "Song"
subtitle = "(tune)"
texidoc = "Jazz tune for combo (horns, piano, drums, bass, guitar)."
}
-\include "paper16.ly"
+#(set-staff-size 16)
\include "english.ly"
%%%%%%%%%%%% Some macros %%%%%%%%%%%%%%%%%%%
-\version "2.1.7"
+\version "2.1.11"
% Ugh, we need to override some LaTeX titling stuff
Demonstration of how to set up an orchestral score (Beethoven's Coriolan overture).
" }
-\include "paper16.ly"
+#(set-staff-size 16)
raisedFlat = \markup { \raise #0.4 \smaller \smaller \musicglyph #"accidentals--1" }
-\version "2.1.7"
+\version "2.1.11"
%possible rename to paper-fill-a4.ly -gp
% candidate for reg -gp
% Han says no, but keeping this comment temporarily so that I don't
This should fill a4 paper. "
}
-\include "paper13.ly"
+#(set-staff-size 13)
\score{
\context Voice \notes\relative c'{
% Toplevel initialisation file.
-\version "1.9.8"
+\version "2.1.11"
\include "declarations-init.ly"
-\include "paper16-init.ly"
+#(set-staff-size 16)
\paper{
\paperSixteen
% Toplevel initialisation file.
-\version "1.9.8"
+\version "2.1.11"
\include "declarations-init.ly"
-\include "paper16-init.ly"
+#(set-staff-size 16)
\paper {
\paperSixteen
(module-define! m 'fonts (scale-font-list (/ sz (* 20 pt))))
(module-define! m 'staffheight sz)
(module-define! m 'staff-space ss)
+ (module-define! m 'staffspace ss)
(module-define! m 'linethickness (* 0.5 pt))
(module-define! m 'outputscale ss)
(module-define! m 'ledgerlinethickness (+ (* 0.5 pt) (/ ss 10)))
;; todo: take dimension arguments.
+
+(define (set-paper-dimensions m h w)
+ (let*
+ ( (mm (eval 'mm m)) )
+
+ (module-define! m 'hsize w)
+ (module-define! m 'vsize h)
+ (module-define! m 'linewidth (- w (* 20 mm)))
+ (module-define! m 'raggedright #f)
+ (module-define! m 'packed #f)
+ (module-define! m 'indent (/ w 14)) ))
+
+
(define-public (set-paper-size name)
(let*
((entry (assoc name paper-alist))
(if (pair? entry)
(begin
(set! entry (eval (cdr entry) m))
- (module-define! m 'papersize name)
- (module-define! m 'papersizename name)
- (module-define! m 'hsize (car entry))
- (module-define! m 'vsize (cdr entry))
- (module-define! m 'linewidth (- (car entry) (* 20 mm)))
- (module-define! m 'raggedright #f)
- (module-define! m 'packed #f)
- (module-define! m 'indent (/ (car entry) 4)) )
+ (set-paper-dimensions m (car entry) (cdr entry))
+ )
(ly:warning (string-append "Unknown papersize: " name))
)))
body = r'''
%% Generated automatically by: lilypond-book.py
%% options are %s
-\include "paper%d.ly"
+#(set-staff-size %d)
+
\paper {
%s
%s