From: Han-Wen Nienhuys Date: Tue, 30 Jul 2002 23:44:07 +0000 (+0000) Subject: * Documentation/user/refman.itely: doco updates. X-Git-Tag: release/1.5.72~80 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=00326da8a7935b31799865e8b199cc380229d420;p=lilypond.git * Documentation/user/refman.itely: doco updates. * scripts/ly2dvi.py (find_pfa_fonts): add and document --pdf option. --- diff --git a/ChangeLog b/ChangeLog index 848fd1c137..d22ce13402 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2002-07-31 Han-Wen + + * input/bugs/: remove various files. + + * Documentation/user/refman.itely: doco updates. + + * scripts/ly2dvi.py (find_pfa_fonts): add and document --pdf + option. + 2002-07-30 Rune Zedeler * ly/engraver-init.ly: add alias "Current" to all contexts. diff --git a/Documentation/user/invoking.itexi b/Documentation/user/invoking.itexi index 27faa46090..c103bdfd31 100644 --- a/Documentation/user/invoking.itexi +++ b/Documentation/user/invoking.itexi @@ -259,8 +259,22 @@ files. The temporary directory is created in the current directory as @code{ly2d @item -o,--output=@var{file} Generate output to @var{file}. The extension of @var{file} is ignored. @item -P,--postscript - Also generate PostScript output, using dvips. -@item --preview + Also generate PostScript output, using dvips. The postscript uses +the standard @TeX{} bitmap fonts for your printer. +@item --pdf + Also generate Portable Document Format (PDF). This option will +generate a PS file using scalable fonts, and will run the PS file +through @code{ps2pdf} producing a PDF file. + +@cindex PDF +@cindex Scalable fonts + + If you use lilypond-book or your own wrapper files, don't use +\use package[[T1]{fontenc} in the file header but don't forget +\usepackage[[latin1]{inputenc} if you use any other non-anglosaxian +characters. + + @item --preview Also generate a picture of the first system of the score. @item -s,--set=@var{key}=@var{val} Add @var{key}= @var{val} to the settings, overriding those specified @@ -380,6 +394,14 @@ the @code{\paper} block. @table @code @item LANG selects the language for the warning messages of Ly2dvi and LilyPond. + +@item GUILE_MAX_SEGMENT_SIZE +is an option for GUILE, the scheme interpreter; it sets the size of +the chunks of memory allocated by GUILE. By increasing this from its +default 8388608, the performance of LilyPond on large scores is +slightly improved. + + @end table diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index cd1aeedaf4..1e682ac4ce 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -296,6 +296,14 @@ Durations can also be produced through GUILE extension mechanism. @end lilypond +@refbugs + +Dot placement for chords is not perfect. In some cases, dots overlap: +@lilypond[] + \context Voice { } +@end lilypond + + @node Ties @subsection Ties @@ -725,6 +733,7 @@ such as keys, clefs and time signatures. @cindex Staff notation @menu +* Staff symbol:: * Key signature:: * Clef:: * Time signature:: @@ -732,6 +741,31 @@ such as keys, clefs and time signatures. * Bar lines:: @end menu +@node Staff symbol +@subsection Staff symbol + + +@cindex adjusting staff symbol +@cindex StaffSymbol, using \property +@cindex staff lines, setting number of + + +The lines of the staff symbol are formed by the +@internalsref{StaffSymbol} grob. This grob is created at the moment +that their context is created. You can not change the appearance of +the staff symbol by using @code{\override} or @code{\set}. At the +moment that @code{\property Staff} is interpreted, a Staff context is +made, and the StaffSymbol is created before any @code{\override} is +effective. You can deal with this either overriding properties in a +@code{\translator} definition, or by using @code{\outputproperty}. + + +@refbugs + +If you end a staff half way a piece, the staff symbol may not end +exactly on the barline. + + @c . {Key} @node Key signature @subsection Key signature @@ -3185,7 +3219,6 @@ To print a rehearsal mark, use the @code{\mark} command. c1 \mark \default c1 \mark "12" c1 \mark \default - c1 \mark #'(music "scripts-segno") c1 } @end lilypond @@ -3197,6 +3230,28 @@ is @internalsref{RehearsalMark} in @internalsref{Score} context. See @code{input/test/boxed-molecule.ly} if you need boxes around the marks. +The @code{\mark} command can also be used to put signs like coda, +segno and fermatas on a barline. The trick is to use the text markup +mechanism to access the fermata symbol. +@lilypond[fragment,verbatim,relative=1] + c1 \mark #'(music "scripts-ufermata") + c1 +@end lilypond + +The problem is that marks that occur at a line break are typeset only +at the beginning of the next line, opposite to what you want for the +fermata. This can be corrected by the following property setting +@example +\property Score.RehearsalMark \override + #'visibility-lambda = #begin-of-line-invisible +@end example + +@cindex fermatas +@cindex coda +@cindex segno +@cindex barlines, putting symbols on + + @node Bar numbers @subsection Bar numbers @@ -3816,20 +3871,6 @@ The backend is not very strict in type-checking grob properties. If you LilyPond may crash. -@cindex adjusting staff symbol -@cindex StaffSymbol, using \property -@cindex staff lines, setting number of - -Some grobs are created at the moment that their context is created. An -example of such a grob is the staff itself (i.e. the horizontal lines). -You can not change the appearance of the staff symbol by manipulating -@code{\property Staff.StaffSymbol}. At the moment that @code{\property -Staff} is interpreted, a Staff context is made, and the StaffSymbol is -created before any @code{\override} is effective. You can deal with this -either overriding properties in a @code{\translator} definition, or by -using @code{\outputproperty}. - - @node Tuning per grob diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index 2865536d39..d28775ac5b 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -314,22 +314,40 @@ ghostview. The DVI file (@file{test.dvi}) contains the same sheet music in a different format. DVI files are more easily processed by the computer, -so viewing them usually is quicker. Execute @code{xdvi test.dvi} -to view the DVI file. +so viewing them usually is quicker. Execute @code{xdvi test.dvi} or +@code{kdvi test.dvi} to view the DVI file. In Xdvi, the mouse buttons +activate magnifying glasses. Unfortunately, variable symbols, such as +beams and slurs won't show up in these. If your DVI viewer does not have a "Print" button, you can print the file by executing @code{lpr test.ps}. @c volgende alinea schrappen? -If you can't get the examples to print, then you should look into -installing and configuring ghostscript. Refer to GhostScript's website -at @uref{http://www.ghostscript.com}. +If your system does not support printing PostScript files, then you +can install GhostScript, a PostScript emulator. Refer to +GhostScript's website at @uref{http://www.ghostscript.com}. @cindex GhostScript @cindex @code{lpr} @cindex Printing output @cindex PostScript +@cindex PDF + +A final option, is to use the popular PDF format. You can get a PDF +file by running @code{ly2dvi --pdf test.ly}. With the @code{--pdf}, +you will get a DVI, PS and PDF file. The viewers for the PS files also +accept PDF files, but there are also many other applications for +viewing PDF files. + +If you are familiar with @TeX{}, then one warning is in place: do not +use other DVI drivers like @code{dvilj}. The @TeX{} coming out of +LilyPond uses embedded PostScript code, and will not render correctly +if you use anything different than @code{dvips}. + +@cindex dvips +@cindex dvilj +@cindex DVI driver @unnumberedsubsec Windows users Windows users start the terminal by clicking on the LilyPond or Cygwin diff --git a/buildscripts/lilypond-profile.sh b/buildscripts/lilypond-profile.sh index 3a60de2191..6f88b34523 100644 --- a/buildscripts/lilypond-profile.sh +++ b/buildscripts/lilypond-profile.sh @@ -12,7 +12,7 @@ if [ -z "$LILYPONDPREFIX" ]; then datadir=`echo "@local_lilypond_datadir@" | sed 's!//!/!g'` else if [ -d "$LILYPONDPREFIX/share" ]; then - datadir=$LILYPONDPREFIX + datadir=$LILYPONDPREFIX/share/lilypond/ fi echo "Setting tree to $datadir" fi diff --git a/input/bugs/barline.ly b/input/bugs/barline.ly deleted file mode 100644 index 4104a24d79..0000000000 --- a/input/bugs/barline.ly +++ /dev/null @@ -1,27 +0,0 @@ -\version "1.5.68" - -\header { -texidoc = "Staves that end half way a system should end at the bar line." -} - -melody = \notes \relative c' { - \partial 8 - g8 | - \bar "|."\clef bass -} - - - -accompaniment = \chords \sequential { - r8 - r2 r2 -} - -\score { - \simultaneous { - \context ChordNames \accompaniment - \context Staff { - \melody } - } - \paper { } -} diff --git a/input/bugs/beam-space.ly b/input/bugs/beam-space.ly deleted file mode 100644 index 46c7f4c5f8..0000000000 --- a/input/bugs/beam-space.ly +++ /dev/null @@ -1,23 +0,0 @@ - - -u = { \translator Staff = up \stemDown } -m = { \translator Staff = mid \stemUp } - -global = \notes { \key fis \major \time 6/8 } - -righta = \notes \transpose c'' { - \repeat unfold 4 { \m [a,16 \u d a d] \m [c \u d c' d ] [c \m b,] [d \u d ] } ] -} - - -\score { \notes - \context PianoStaff < - \context Staff = up { - \clef G \global \righta - } - \context Staff = mid { - \clef F \global s2. *4 - } - > - \paper { } -} diff --git a/input/bugs/different-time.ly b/input/bugs/different-time.ly deleted file mode 100644 index 95715078c7..0000000000 --- a/input/bugs/different-time.ly +++ /dev/null @@ -1,36 +0,0 @@ -\version "1.5.68" - -\header { -texidoc = " Spacing for one staff in polymetric music should -be not hampered by a staff in another time signature. - -FIXME example was broken at some point. -" -} - -\score{ - \context PianoStaff < - \context Staff = upper \notes\relative c''{ - \property Staff.timeSignatureFraction = #'(3 . 4) - c4 c c - c2. - - } - \context Staff = lower \notes\relative c' { - \property Staff.timeSignatureFraction = #'(4 . 4) - c4 c c c - c1 - } - > - \paper{ - linewidth=-1.0 - \translator { - \ScoreContext - \remove Timing_engraver - } - \translator { - \StaffContext - \consists Timing_engraver - } - } -} diff --git a/input/bugs/dots.ly b/input/bugs/dots.ly deleted file mode 100644 index daac7f5863..0000000000 --- a/input/bugs/dots.ly +++ /dev/null @@ -1,11 +0,0 @@ -\version "1.5.68" - -\header { - texidoc = "Dots should remain close to the heads they belong to, but should not overlap." -} - - -\score { - \notes - \context Voice { } -} diff --git a/input/bugs/drarn.ly b/input/bugs/drarn.ly deleted file mode 100644 index 7bc9cbc7d6..0000000000 --- a/input/bugs/drarn.ly +++ /dev/null @@ -1,24 +0,0 @@ -\version "1.5.68" -%% oops, weird small ties - -\score { - \context Staff \notes < - \time 3/8 - \context Voice=one \relative c'' { - \property Voice.Stem \set #'direction = #1 - \property Voice.Tie \set #'direction = #1 - \property Voice.Slur \set #'direction = #1 - \property Voice.Slur \set #'attachment = #'(head . head) - c8 c()c - } - \context Voice=two \relative c'' { - \property Voice.Stem \set #'direction = #-1 - \property Voice.Tie \set #'direction = #-1 - \property Voice.Slur \set #'direction = #-1 - \property Voice.Slur \set #'attachment = #'(head . head) - a8()a~a - } - > - \paper { linewidth = -1. } -% \paper { linewidth = 40*\staffspace } -} diff --git a/input/bugs/fermata.ly b/input/bugs/fermata.ly deleted file mode 100644 index 5f3e93f203..0000000000 --- a/input/bugs/fermata.ly +++ /dev/null @@ -1,6 +0,0 @@ - -\header { - texidoc = "Fermata on rest doesn't go up" - } - -\score { \notes { r4-\fermata }} diff --git a/input/bugs/grace-fold-spacing.ly b/input/bugs/grace-fold-spacing.ly deleted file mode 100644 index d45074f1ad..0000000000 --- a/input/bugs/grace-fold-spacing.ly +++ /dev/null @@ -1,19 +0,0 @@ -\score{< - \notes \relative c'' \context Staff=violin{ - \time 3/4 - b4. b8 a g | - \grace a g8.^\trill fis32 g fis4 a8. a16 | - } - \notes \relative c'' \context Staff=violoncello{ - \time 3/4 - \clef tenor - - g8 d^\trill [g d c b] | - \clef bass b8.^\trill a32 b a4 r | - } -> -\paper{ - linewidth=-1 -} -} - diff --git a/scripts/ly2dvi.py b/scripts/ly2dvi.py index 764f12cc76..54ac389ad3 100644 --- a/scripts/ly2dvi.py +++ b/scripts/ly2dvi.py @@ -338,6 +338,7 @@ option_definitions = [ ('', '', 'preview', _("Make a picture of the first system.")), (_ ('RES'), '', 'preview-resolution', _("Set the resolution of the preview to RES.")), ('', 'P', 'postscript', _ ("generate PostScript output")), + ('', '', 'pdf', _ ("generate PDF output")), (_ ("KEY=VAL"), 's', 'set', _ ("change global setting KEY to VAL")), ('', 'V', 'verbose', _ ("verbose")), ('', 'v', 'version', _ ("print version number")), @@ -736,6 +737,9 @@ None. if extra['orientation'] and extra['orientation'][0] == 'landscape': opts = opts + ' -tlandscape' + if 'PDF' in targets: + opts = opts + '-Ppdf -G0 -u lilypond.map' + cmd = 'dvips %s -o%s %s' % (opts, outbase + '.ps', outbase + '.dvi') quiet_system (cmd, 'dvips') @@ -743,6 +747,10 @@ None. cmd = 'dvips -E -o%s %s' % ( outbase + '.preview.ps', outbase + '.preview.dvi') quiet_system (cmd, 'dvips for preview') + if 'PDF' in targets: + cmd = 'ps2pdf %s.ps %s.pdf' % (outbase , outbase) + quiet_system (cmd, 'ps2pdf') + def get_bbox (filename): # cut & paste system ('gs -sDEVICE=bbox -q -sOutputFile=- -dNOPAUSE %s -c quit > %s.bbox 2>&1 ' % (filename, filename)) @@ -854,6 +862,9 @@ for opt in options: include_path.append (a) elif o == '--postscript' or o == '-P': targets.append ('PS') + elif o == '--pdf': + targets.append ('PDF') + targets.append ('PS') elif o == '--keep' or o == '-k': keep_temp_dir_p = 1 elif o == '--no-lily':