]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'lilypond/translation'
authorJohn Mandereau <john.mandereau@gmail.com>
Sun, 17 Oct 2010 13:30:43 +0000 (15:30 +0200)
committerJohn Mandereau <john.mandereau@gmail.com>
Sun, 17 Oct 2010 13:30:43 +0000 (15:30 +0200)
Conflicts:
Documentation/fr/notation/spacing.itely

47 files changed:
Documentation/contributor/doc-work.itexi
Documentation/de/notation/spacing.itely
Documentation/es/notation/spacing.itely
Documentation/es/web/community.itexi
Documentation/es/web/introduction.itexi
Documentation/fr/learning/templates.itely
Documentation/fr/notation/spacing.itely
Documentation/fr/web.texi
Documentation/fr/web/introduction.itexi
Documentation/ja/learning/scheme-tutorial.itely
Documentation/learning/common-notation.itely
Documentation/learning/fundamental.itely
Documentation/learning/tweaks.itely
Documentation/music-glossary.tely
Documentation/nl/web.texi
Documentation/notation/spacing.itely
Documentation/notation/vocal.itely
Documentation/web/community.itexi
Documentation/web/news.itexi
input/regression/page-breaking-markup-padding.ly [new file with mode: 0644]
input/regression/page-breaking-markup-padding2.ly [new file with mode: 0644]
input/regression/page-breaking-markup-padding3.ly [new file with mode: 0644]
input/regression/page-breaking-min-distance.ly
input/regression/page-breaking-title-padding.ly [deleted file]
input/regression/page-breaking-title-padding2.ly [deleted file]
input/regression/page-breaking-title-padding3.ly [deleted file]
input/regression/page-spacing-loose-lines-between.ly
input/regression/page-spacing-loose-lines-header-padding.ly
input/regression/page-spacing-top-markup-spacing.ly [new file with mode: 0644]
input/regression/page-spacing-top-system-spacing.ly
input/regression/page-spacing-top-title-spacing.ly [deleted file]
input/regression/paper-nested-override.ly
input/regression/stem-length-estimation.ly
input/regression/system-overstrike.ly
lily/constrained-breaking.cc
lily/include/constrained-breaking.hh
lily/include/smobs.hh
lily/page-breaking.cc
lily/page-layout-problem.cc
ly/paper-defaults-init.ly
mf/feta-accordion.mf
mf/feta-noteheads.mf
mf/feta-scripts.mf
python/book_latex.py
python/convertrules.py
scm/page.scm
scm/paper-system.scm

index 8ea3065e35d2c7689afc310f3a9e569b5456ae10..96caaa95cb6d542c2959c5dde8e65535298c89c5 100644 (file)
@@ -1139,23 +1139,24 @@ Enter commands with @@funindex, i.e.
 @end example
 
 @noindent
-do not bother with the @@code@{@} (they are added automatically).
+Do not bother with the @@code@{@} (they are added automatically).
 These items are added to both the command index and the unified
-index.
+index.  Both index commands should go in front of the actual material.
 
-Both index commands should go in front of the actual material.
-
-@@cindex entries should not be capitalized, ie
+@item
+@@cindex entries should not be capitalized, i.e.
 
 @example
 @@cindex time signature
 @end example
 
 @noindent
-is preferred instead of @qq{Time signature},   Only use capital
-letters for musical terms which demand them, like D.S. al Fine.
+is preferred instead of @qq{Time signature}.  Only use capital
+letters for musical terms which demand them, e.g.
+@qq{D.S. al Fine}.
 
-For scheme functions, only include the final part, i.e.,
+@item
+For scheme function index entries, only include the final part, i.e.
 
 @example
 @@funindex modern-voice-cautionary
@@ -1164,28 +1165,41 @@ For scheme functions, only include the final part, i.e.,
 @end example
 
 @item
-Preferred terms:
+Use American spelling.  LilyPond's internal property
+names use this convention.
+
+@item
+Here is a list of preferred terms to be used:
 
 @itemize
+@item
+@emph{Simultaneous} NOT concurrent.
 
 @item
-In general, use the American spellings.  The internal lilypond
-property names use this spelling.
+@emph{Measure}: the unit of music.
 
 @item
-List of specific terms:
+@emph{Bar line}: the symbol delimiting a measure NOT barline.
 
-@example
-canceled
-simultaneous    NOT concurrent
-measure: the unit of music
-bar line: the symbol delimiting a measure   NOT barline
-note head   NOT notehead
-chord construct   NOT chord (when referring to <>)
-@end example
+@item
+@emph{Note head} NOT notehead.
+
+@item
+@emph{Chord construct} NOT just chord (when referring to < ... >)
+
+@item
+@emph{Staff} NOT stave.
+
+@item
+@emph{Staves} NOT Staffs:
+Phrases such as
+@q{multiple @@internalsref@{Staff@}s}
+should be rephrased to
+@q{multiple @@internalsref@{Staff@} contexts}.
 
 @end itemize
 
+
 @end itemize
 
 
index 46b8d4143ca19eecf64fab51f6ac625686b40191..42c531aae7fccc8ecee2c1458a5ef702184b3d89 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.13.36"
 
 @c Translators: Till Paala
 
@@ -189,9 +189,9 @@ auf einer Seite zu produzieren:
 
 @table @code
 
-@item after-title-spacing
+@item markup-system-spacing
 
-@funindex after-title-spacing
+@funindex markup-system-spacing
 
 Gibt an, wie der Abstand zwischen Titel (oder der obersten Beschriftung) und
 dem darauffolgenden Notensystem berechnet wird.  Das ist eine assoziative
@@ -220,7 +220,7 @@ eines Systems ausdrücklich für @var{Verschiebung} verlangt wird.
 Der Standard beispielsweise ist:
 
 @example
-after-title-spacing = #'((Platz . 2) Verschiebung . 0.5))
+markup-system-spacing = #'((Platz . 2) Verschiebung . 0.5))
 @end example
 
 Wenn eine Seite einen keinen ausgeglichenen unteren Rand hat, wird @var{Platz}
@@ -234,58 +234,58 @@ größte Wert von
 auftreten.
 @end itemize
 
-@item before-title-spacing
+@item score-markup-spacing
 
-@funindex before-title-spacing
+@funindex score-markup-spacing
 
 Definiert den Platz zwiscehn einem System und dem Titel (oder der obersten
 Beschriftung), der darauf folgt.  Der Abstand wird von der Mitte des letzten
 Notensystems der Systemgruppe zur Grundlinie des darauf folgenden Titels
-berechnet.  Siehe auch @var{after-title-spacing}.
+berechnet.  Siehe auch @var{markup-system-spacing}.
 
-@item between-scores-system-spacing
+@item score-system-spacing
 
-@funindex between-scores-system-spacing
+@funindex score-system-spacing
 
 Definiert den Abstand zwischen zwei Systemen, wenn sie sich in unterschiedlichen
 Partituren (Score) befinden, aber zwischen ihnen keine Überschrift kommt.  Siehe
-auch @var{after-title-spacing}.
+auch @var{markup-system-spacing}.
 
-@item between-system-spacing
+@item system-system-spacing
 
-@funindex between-system-spacing
+@funindex system-system-spacing
 
 Definiert den Abstand zwischen der Mitte des untersten Notensystems einer
 Systemgruppe und der Mitte des obersten Notensystems der folgenden Systemgruppe.
-Siehe @var{after-title-spacing}.
+Siehe @var{markup-system-spacing}.
 
-@item between-title-spacing
+@item markup-markup-spacing
 
-@funindex between-title-spacing
+@funindex markup-markup-spacing
 
 Definiert den Abstand zwischen zwei Überschriften (oder Beschriftungen auf oberster
 Ebene).  Die Abstände werden von der Grundlinie der ersten Überschrift zur
-Grundlinie der zweiten Überschrift errechnet.  Siehe @var{after-title-spacing}.
+Grundlinie der zweiten Überschrift errechnet.  Siehe @var{markup-system-spacing}.
 
 @item bottom-margin
 
 Der Rand zwischen der Fußzeile und dem unteren Rand der Seite.
 Standard: @code{6\mm}.
 
-@item bottom-system-spacing
+@item last-bottom-spacing
 
-@funindex bottom-system-spacing
+@funindex last-bottom-spacing
 
 Definiert den Abstand von der Mitte des letzten Systems (oder der Grundlinie der
 letzten Beschriftung) zum Ende des bedruckbaren Bereichs (normalerweise die
-Oberkante des Seitenrandes).  Siehe @var{after-title-spacing}.
+Oberkante des Seitenrandes).  Siehe @var{markup-system-spacing}.
 
-@item top-title-spacing
+@item top-markup-spacing
 
-@funindex top-title-spacing
+@funindex top-markup-spacing
 
 Definiert den Abstand vom Oberrand des bedruckbaren Bereichs (also dem Unterrand
-des oberen Seitenrandes) zur Grundlinie der Ügerschrift.  Siehe @var{after-title-spacing}.
+des oberen Seitenrandes) zur Grundlinie der Ügerschrift.  Siehe @var{markup-system-spacing}.
 
 @item top-system-spacing
 
@@ -294,7 +294,7 @@ des oberen Seitenrandes) zur Grundlinie der Ügerschrift.  Siehe @var{after-titl
 Definiert den Abstand vom Oberrand des bedruckbaren Bereiches (also dem Unterrand
 des oberen Seitenrandes) zur Mitte des ersten Notensystems.  Der Wert wird nur
 eingesetzt, wenn oben auf der Seite kein Titel gesetzt ist (in welchem Fall
-@var{top-title-spacing} benutzt wird).  Siehe @var{after-title-spacing}.
+@var{top-markup-spacing} benutzt wird).  Siehe @var{markup-system-spacing}.
 
 @item paper-height
 
@@ -622,15 +622,15 @@ kann dazu führen, dass Seiten zu dicht gefüllt werden, wenn der Wert
 zu groß gewählt wird.  Die Option ist zur Zeit nur von dem
 @code{ly:optimal-breaking}-Algorithmus unterstützt.  Standard: nicht gesetzt.
 
-@item page-breaking-between-system-spacing
+@item page-breaking-system-system-spacing
 
-@funindex page-breaking-between-system-spacing
+@funindex page-breaking-system-system-spacing
 
 Überlistet die Seitenumbruchfunktion, indem ihr ein anderer Wert
-für @code{between-system-spacing} mitgeteilt wird, als in Wirklichkeit
+für @code{system-system-spacing} mitgeteilt wird, als in Wirklichkeit
 eingestellt ist.  Wenn beispielsweise 
-@code{page-breaking-between-system-spacing #'padding} auf einen
-deutlich größeren Wert als @code{between-system-spacing #'padding} gesetzt
+@code{page-breaking-system-system-spacing #'padding} auf einen
+deutlich größeren Wert als @code{system-system-spacing #'padding} gesetzt
 wird, setzt die Seitenumbruchsfunktion weniger Systeme auf eine
 Seite.  Standard: nicht gesetzt.
 
@@ -1702,13 +1702,13 @@ sehr ähnlich, der Abstände innerhalb einer Systemgruppe kontrolliert
 (siehe @ref{Abstände innerhalb eines Systems}).  Der Hauptunterschied ist,
 dass die Variablen, die Abstände zwischen Systemgruppen definieren, in der
 @code{\paper}-Umgebung und nicht als Grob-Eigenschaften definiert werden.
-Diese Variablen der @code{\paper}-Umbgebung sind @var{between-system-spacing},
-@var{between-scores-system-spacing}, @var{after-title-spacing},
-@var{before-title-spacing}, @var{between-title-spacing},
-@var{top-system-spacing}, @var{top-title-spacing} und
-@var{bottom-system-spacing}.  Beachten Sie, dass diese Variablen
+Diese Variablen der @code{\paper}-Umbgebung sind @var{system-system-spacing},
+@var{score-system-spacing}, @var{markup-system-spacing},
+@var{score-markup-spacing}, @var{markup-markup-spacing},
+@var{top-system-spacing}, @var{top-markup-spacing} und
+@var{last-bottom-spacing}.  Beachten Sie, dass diese Variablen
 Nicht-Notensystem-zeilen ignorieren.  Beispielsweise kontrolliert
-@var{between-system-spacing} den Abstand der mittleren Notenlinie des
+@var{system-system-spacing} den Abstand der mittleren Notenlinie des
 tiefsten Systems einer Gruppe zur mittleren Notenlinie des höchsten
 Notensystems der nächsten Gruppe, egal ob dazwischen Gesangstext gesetzt
 ist oder nicht.  Siehe auch @ref{Vertikale Dimensionen} für eine
@@ -2841,7 +2841,7 @@ dann so anordnen, dass kein weißer Rand unten auf der Seite entsteht.
 
 @example
 \paper @{
-  between-system-spacing = #'((padding . 0) (space . 0.1))
+  system-system-spacing = #'((padding . 0) (space . 0.1))
   ragged-last-bottom = ##f
   ragged-bottom = ##f
 @}
index 0a3e0e3be3b19f2d74c066f70c1a55b6d4a4f58e..908b86d8f5e7204f271a4764b54d3ff99777f6f9 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.13.36"
 
 @node Problemas de espaciado
 @chapter Problemas de espaciado
@@ -172,8 +172,8 @@ verticales de la página:
 
 @table @code
 
-@item after-title-spacing
-@funindex after-title-spacing
+@item markup-system-spacing
+@funindex markup-system-spacing
 
 Especifica cómo calcular el espacio entre un título (o un elemento de
 marcado del nivel superior) y el sistema que le sigue.  Es una lista
@@ -200,7 +200,7 @@ pentagrama es crucial para @var{padding}).
 Por ejemplo, los valores predeterminados son:
 
 @example
-after-title-spacing = #'((space . 2) (padding . 0.5))
+markup-system-spacing = #'((space . 2) (padding . 0.5))
 @end example
 
 
@@ -213,35 +213,35 @@ es la mayor de
 @item @var{padding} más la menor distancia necesaria para eliminar la superposición.
 @end itemize
 
-@item before-title-spacing
-@funindex before-title-spacing
+@item score-markup-spacing
+@funindex score-markup-spacing
 
 Especifica el espacio entre un sistema y el título (o elemento de
 marcado del nivel superior) que le sigue.  Las distancias se miden a
 partir del centro del último pentagrama del sistema hasta la línea de
-base del título que le sigue.  Véase @var{after-title-spacing}.
+base del título que le sigue.  Véase @var{markup-system-spacing}.
 
-@item between-scores-system-spacing
-@funindex between-scores-system-spacing
+@item score-system-spacing
+@funindex score-system-spacing
 
 Especifica el espacio entre dos sistemas si están en diferentes
 partituras, pero no hay ningún título entre ellas. Véase
-@var{after-title-spacing}.
+@var{markup-system-spacing}.
 
-@item between-system-spacing
-@funindex between-system-spacing
+@item system-system-spacing
+@funindex system-system-spacing
 
 Especifica el espacio entre el centro del pentagrama inferior de un
 sistema y el centro del pentagrama superior del sistema siguiente.
-Véase @var{after-title-spacing}.
+Véase @var{markup-system-spacing}.
 
-@item between-title-spacing
-@funindex between-title-spacing
+@item markup-markup-spacing
+@funindex markup-markup-spacing
 
 Especifica el espacio entre dos títulos (o elementos de marcado del
 nivel superior).  Las distancias se miden a partir de la línea de base
 de del primer título hasta la línea de base del segundo.  Véase
-@var{after-title-spacing}.
+@var{markup-system-spacing}.
 
 @item bottom-margin
 @funindex bottom-margin
@@ -249,20 +249,20 @@ de del primer título hasta la línea de base del segundo.  Véase
 Margen entre el pie y el final de la página.  Valor predeterminado:
 @code{6\mm}.
 
-@item bottom-system-spacing
-@funindex bottom-system-spacing
+@item last-bottom-spacing
+@funindex last-bottom-spacing
 
 Especifica el espacio desde el centro del último pentagrama (o la
 línea de base del último elemento de marcado del nivel superior) hasta
 el final del área imprimible (es decir, el límite superior del margen
-inferior).  Véase @var{after-title-spacing}.
+inferior).  Véase @var{markup-system-spacing}.
 
-@item top-title-spacing
-@funindex top-title-spacing
+@item top-markup-spacing
+@funindex top-markup-spacing
 
 Especifica el espacio desde el principio del área imprimible (es
 decir, el límite inferior del margen superior) hasta la línea de base
-del título.  Véase @var{after-title-spacing}.
+del título.  Véase @var{markup-system-spacing}.
 
 @item top-system-spacing
 @funindex top-system-spacing
@@ -271,7 +271,7 @@ Especifica el espacio desde el principio del área imprimible (es
 decir, el límite inferior del margen superior) hasta el centro del
 primer pentagrama.  Sólo tiene efecto si no hay ningún título al
 principio de la página (en cuyo caso se utiliza en su lugar
-@var{top-title-spacing}).  Véase @var{after-title-spacing}.
+@var{top-markup-spacing}).  Véase @var{markup-system-spacing}.
 
 @item paper-height
 @funindex paper-height
@@ -598,14 +598,14 @@ las páginas se llenen en exceso si se establece a un valor grande.
 Por el momento solamente está contemplado por parte del algoritmo
 @code{ly:optimal-breaking}.  Predeterminado: no establecido.
 
-@item page-breaking-between-system-spacing
-@funindex page-breaking-between-system-spacing
+@item page-breaking-system-system-spacing
+@funindex page-breaking-system-system-spacing
 
 Engaña al divisor de páginas para que crea que
-@code{between-system-spacing} está establecido a algo distinto de lo
+@code{system-system-spacing} está establecido a algo distinto de lo
 que está realmente.  Por ejemplo, si
-@code{page-breaking-between-system-spacing #'padding} se establece a algo
-mucho mayor que @code{between-system-spacing #'padding}, entonces
+@code{page-breaking-system-system-spacing #'padding} se establece a algo
+mucho mayor que @code{system-system-spacing #'padding}, entonces
 el divisor de páginas colocará menos sistemas en cada página.
 Predeterminado: no establecido.
 
@@ -1684,12 +1684,12 @@ a los que controlan el espaciado dentro de un sistema (véase
 principal es que las variables para controlar el espaciado entre
 sistemas se establece dentro del bloque @code{\paper} en lugar de
 hacerlo como propiedades de grob.  Estas variables del bloque paper
-son @var{between-system-spacing}, @var{between-scores-system-spacing},
-@var{after-title-spacing}, @var{before-title-spacing},
-@var{between-title-spacing}, @var{top-system-spacing},
-@var{top-title-spacing} y @var{bottom-system-spacing}.  Observe que
+son @var{system-system-spacing}, @var{score-system-spacing},
+@var{markup-system-spacing}, @var{score-markup-spacing},
+@var{markup-markup-spacing}, @var{top-system-spacing},
+@var{top-markup-spacing} y @var{last-bottom-spacing}.  Observe que
 estas variables ignoran las líneas que nos son pautas.  Por ejemplo,
-@var{between-system-spacing} controla el espaciado desde la línea
+@var{system-system-spacing} controla el espaciado desde la línea
 media del pentagrama inferior de un sistema hasta la línea del
 pentagrama superior del sistema siguiente, tanto si hay letra debajo
 del sistema superior como si no.  Consulte @ref{Dimensiones
@@ -2866,7 +2866,7 @@ parte baja del papel.
 
 @example
 \paper @{
-  between-system-spacing = #'((padding . 0) (space . 0.1))
+  system-system-spacing = #'((padding . 0) (space . 0.1))
   ragged-last-bottom = ##f
   ragged-bottom = ##f
 @}
index 36c7570e1b4417aaa1d623bfaa711c229af75c1b..6b863200ed04db3d2535fa30d318583619ed748f 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: c95162b90ec5d20e208ef20ced3eb0f8fde23e1f
+    Translation of GIT committish: ff092354107e43a7c29abad74226b302d9a93faa
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -614,8 +614,11 @@ Las pruebas de lilypond-book de esta versión.
 @subsubheading Todas las versiones
 
 @itemize
-@item @uref{http://lilypond.org/test, Archivo de las pruebas de regresión}:
-Comparaciones entre versiones.
+@item @uref{http://lilypond.org/test, Comparaciones entre pruebas de regresión}
+
+@item @uref{http://lilypond.org/download/binaries/test-output/,
+Archivo de todas las pruebas de regresión}
+
 @end itemize
 
 @divEnd
index e8938d10b6bf2e06d8377280d9086a75d75cc391..22ef69c267ded8c4584dd07b67e518435c87c7ce 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 8d6bc6be08ed7a515c17a3290ba8977655ef074f
+    Translation of GIT committish: cd0fa693cd2297298aabfdc2d2d9d8b0d7746a5c
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -633,6 +633,17 @@ Ann Drinan, en la página
 presenta algunos comentarios de dos archiveros de orquesta que
 charlan acerca del uso de software para el mantenimiento de sus bibliotecas.
 
+@item
+Junio de 2009
+
+En un @uref{http://news.lilynet.net/Free-Music-Now, artículo}
+publicado en la revista anual de la @emph{Asociación Nacional de
+Padres de Alumnos de Conservatorios} de Francia, el compositor y
+miembro del proyecto LilyPond, Valentin Villenave, explica cómo las
+Licencias Libres, y concretamente las partituras tipografiadas con
+LilyPond, participan del objetivo de lograr que la música escrita sea
+accesible para todos.
+
 @item
 Febrero de 2008
 
index 88776d2fbb44ce34d11c12ec9aa88128f9348a29..e7f3ef905e59842bcfd2c11eb451f06efabf4b1d 100644 (file)
@@ -8,6 +8,8 @@
     Guide, node Updating translation committishes..
 @end ignore
 
+@c \version "2.12.0"
+
 @c Translators: Jean-Charles Malahieude
 
 @node Modèles
index 618be2538574e2981bd38fdbf9ab33538d3632dc..173ecf694bff2bc258efea294290486168362f01 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.13.36"
 
 @c Translators: Frédéric Chiasson, Jean-Charles Malahieude
 
index ba192ad5e7de356a203c130fb1145f8241e6af30..667fd82de37eed79abf858662c9dd2a424cfd2b2 100644 (file)
@@ -115,7 +115,7 @@ Pour LilyPond version @version{}
 @divEnd
 
 @c @imageId{cmws,web-clef-g-eight-alpha.png,Catchy Musical Web Snippet}
-@imageId{lilylogo,double-lily-modified3.png,LilyPond logo}
+@imageId{lilylogo,double-lily-modified3,png,LilyPond logo}
 @c @im ageId{cmws,web-snippet-alpha.png,Catchy Musical Web Snippet}
 
 @divId{quickSummary}
index 590a21709ac8bbfce8b56421c0c38348fc73ff76..15fbc13318616b000a957bb04c9bfd686cd86db7 100644 (file)
@@ -657,6 +657,25 @@ contributor Valentin Villenave explains how Free licenses, and
 specifically LilyPond-engraved scores, are instrumental in
 making written music accessible to all.
 
+@item
+Août 2009
+
+Sur le site 
+@uref{http://www.polyphonic.org/article.php?id=188, Polyphonic.org},
+Ann Drinan présente les appréciations de deux bibliothécaires
+d'orchestre qui évoquent les possibilités ouvertes par
+l'informatique pour la maintenance de leurs fonds.
+
+@item
+Juin 2009
+
+Dans la revue annuelle de la Fédération Nationale des Associations
+de Parents d'Éleves de Conservatoires, le compositeur français
+Valentin Villenave, également contributeur LilyPond, consacre un
+@uref{http://news.lilynet.net/Free-Music-Now, article} aux licences
+libres, et au rôle primordial que peut jouer LilyPond afin d'ouvrir
+à tous l'accès à la musique écrite.
+
 @item
 Février 2008
 
index f3c37f30ff1f0e00646f0f640702c06418b308b3..6d3b32f6a4550cf7ccf802fda06046b3ccceb9a8 100644 (file)
@@ -8,6 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
+@c \version "2.12.0"
 
 @node Scheme チュートリアル
 @appendix Scheme チュートリアル
index a7faab25041a6567fa01d35a6bc0e85ba2cd780e..6879da7e08522457eded8694a0afa9ae2ae152db 100644 (file)
@@ -776,7 +776,10 @@ than polyrhythmic scores.
 @funindex GrandStaff
 @funindex ChoirStaff
 
-Music Glossary: @rglos{brace}.
+Music Glossary:
+@rglos{brace},
+@rglos{staff},
+@rglos{system}.
 
 Piano music is typeset in two staves connected by a
 @notation{brace}.
index 55f5b0a4637c5962465a2f5c4d80fb721a67d962..46776919af5d68eeacb40969905c404f64c9392d 100644 (file)
@@ -2959,6 +2959,9 @@ PedalOrganMusic = \relative c {
 }  % end Score context
 @end lilypond
 
+@seealso
+Music Glossary:
+@rglos{system}.
 
 @node Saving typing with variables and functions
 @subsection Saving typing with variables and functions
index 4e69da10188acf9745ca62cbb92a171e0c66a798..83602292a065b3e98f240b84aa42d2d6160dde05 100644 (file)
@@ -3556,6 +3556,10 @@ required, but the transparent metronome mark in the first line
 forces the following tempo indication too high while the
 second (with the stencil removed) does not.
 
+@seealso
+Music Glossary:
+@rglos{system}.
+
 @node Using variables for tweaks
 @subsection Using variables for tweaks
 
index b392e66ee8b287cf965dbc3548b91186be717d1f..1cd134611aa3ee8964ac397cf0704079c86ab5f4 100644 (file)
@@ -7314,8 +7314,12 @@ lines upon and between which the musical notes are written, thus
 indicating (in connection with a @ref{clef}) their pitch.  Staves for
 @ref{percussion} instruments may have fewer lines.
 
+@lilypond[quote,relative=1]
+c4 e g c
+@end lilypond
+
 @seealso
-No cross-references.
+@ref{system}.
 
 
 @node staves
@@ -7603,8 +7607,9 @@ DK: system,
 S: system,
 FI: nuottiviivasto.
 
-The collection of staves (@notation{staff}), two or more, as used for writing
-down of keyboard, chamber, choral, or orchestral music.
+The collection of staves (@notation{staff}), two or more, as used
+for writing down keyboard, chamber, choral, or orchestral music;
+a section of the score spanning the width of a single page.
 
 @seealso
 @ref{staff}.
index bfed58935044200013a1b03a37d603e3c9bd1ec0..b402c76d483c821e696a12a25177a2b1ef361469 100644 (file)
@@ -280,6 +280,33 @@ Distributions will want to install lilypond.info in postinstall, doing:
 @end macro
 
 
+@ifhtml
+@macro contactUsAbout{topic}
+
+@divClass{heading-center}
+@divClass{contactBox}
+If you are aware of any other \topic\ which could be listed here,
+please let us know by following the instructions on
+@ref{Bug reports}.
+
+@divEnd
+@divEnd
+
+@end macro
+@end ifhtml
+
+@ifnothtml
+@macro contactUsAbout{topic}
+@cartouche
+If you are aware of any other \topic\ which could be listed here,
+please let us know by following the instructions on
+@ref{Bug reports}.
+
+@end cartouche
+
+@end macro
+@end ifnothtml
+
 @include web/introduction.itexi
 @include web/download.itexi
 @include web/manuals.itexi
index 20d4e2b87c01fec423f2822bc72a739d17ededca..e235c50a4ea6935d1e13e1cb4c6c00a0971ee412 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.13.36"
 
 @ignore
 GDP TODO list
@@ -288,7 +288,7 @@ like this:
 
 @example
 \paper @{
-  after-title-spacing #'space = #5
+  markup-system-spacing #'space = #5
 @}
 @end example
 
@@ -297,7 +297,7 @@ this:
 
 @example
 \paper @{
-  bottom-system-spacing =
+  last-bottom-spacing =
     #'((padding . 1)
        (space . 1)
        (minimum-distance . 0)
@@ -305,58 +305,71 @@ this:
 @}
 @end example
 
+The names of the flexible vertical dimension variables follow the
+format @code{@var{upper}-@var{lower}-spacing}, where
+@code{@var{upper}} and @code{@var{lower}} are the items to be
+spaced.  Each distance is measured between the reference points of
+the two items: the reference point of a title or markup is its
+highest point, and the reference point of a system is the middle
+line of the nearest staff.  Note that in these variable names, the
+term @q{@code{markup}} refers to both @i{title markups}
+(@code{bookTitleMarkup} or @code{scoreTitleMarkup}) and
+@i{top-level markups} (see @ref{File structure}).
+
 The flexible vertical dimension variables are:
 
+
 @table @code
 
-@item after-title-spacing
-@funindex after-title-spacing
+@item markup-system-spacing
+@funindex markup-system-spacing
 
-the space between a title (or top-level markup) and the system
+the distance between a (title or top-level) markup and the system
 that follows it.
 
-@item before-title-spacing
-@funindex before-title-spacing
+@item score-markup-spacing
+@funindex score-markup-spacing
 
-the space between a system and the title (or top-level markup)
-that follows it.
+the distance between the last system of a score and the (title or
+top-level) markup that follows it.
 
-@item between-scores-system-spacing
-@funindex between-scores-system-spacing
+@item score-system-spacing
+@funindex score-system-spacing
 
-the space between two systems if they are in different scores,
-with no title between them.
+the distance between the last system of a score and the first
+system of the score that follows it, when no (title or top-level)
+markup exists between them.
 
-@item between-system-spacing
-@funindex between-system-spacing
+@item system-system-spacing
+@funindex system-system-spacing
 
-the space between two systems in the same score.
+the distance between two systems in the same score.
 
-@item between-title-spacing
-@funindex between-title-spacing
+@item markup-markup-spacing
+@funindex markup-markup-spacing
 
-the space between two titles (or top-level markups).
+the distance between two (title or top-level) markups.
 
-@item bottom-system-spacing
-@funindex bottom-system-spacing
+@item last-bottom-spacing
+@funindex last-bottom-spacing
 
-the space from the last system (or the last top-level markup) to
-the bottom of the printable area (ie. the top of the bottom
+the distance from the last system or top-level markup on a page to
+the bottom of the printable area (i.e. the top of the bottom
 margin).
 
 @item top-system-spacing
 @funindex top-system-spacing
 
-the space from the top of the printable area (ie. the bottom of
-the top margin) to the first system.  This only takes effect if
-there is no title at the top of the page (in which case
-@code{top-title-spacing} is used instead).
+the distance from the top of the printable area (i.e. the bottom
+of the top margin) to the first system on a page, when there is no
+(title or top-level) markup between the two.
 
-@item top-title-spacing
-@funindex top-title-spacing
+@item top-markup-spacing
+@funindex top-markup-spacing
 
-the space from the top of the printable area (ie. the bottom of
-the top margin) to the title.
+the distance from the top of the printable area (i.e. the bottom
+of the top margin) to the first (title or top-level) markup on a
+page, when there is no system between the two.
 
 @end table
 
@@ -643,14 +656,14 @@ may cause pages to be overfilled if it is made too large.  This is
 currently supported only by the @code{ly:optimal-breaking} algorithm.
 Default: unset.
 
-@item page-breaking-between-system-spacing
-@funindex page-breaking-between-system-spacing
+@item page-breaking-system-system-spacing
+@funindex page-breaking-system-system-spacing
 
 Tricks the page breaker into thinking that
-@code{between-system-spacing} is set to something different than
+@code{system-system-spacing} is set to something different than
 it really is.  For example, if
-@code{page-breaking-between-system-spacing #'padding} is set to something
-substantially larger than @code{between-system-spacing #'padding}, then the
+@code{page-breaking-system-system-spacing #'padding} is set to something
+substantially larger than @code{system-system-spacing #'padding}, then the
 page-breaker will put fewer systems on each page.  Default: unset.
 
 @item page-count
@@ -1660,12 +1673,12 @@ that control spacing between staves within a system (see
 @ref{Vertical spacing inside a system}).  The main difference is that
 the variables to control spacing between systems are set in the
 @code{\paper} block, rather than as grob properties.  These paper block
-variables are @var{between-system-spacing},
-@var{between-scores-system-spacing}, @var{after-title-spacing},
-@var{before-title-spacing}, @var{between-title-spacing},
-@var{top-system-spacing}, @var{top-title-spacing} and
-@var{bottom-system-spacing}.  Note that these variables ignore non-staff
-lines.  For example, @var{between-system-spacing} controls the spacing
+variables are @var{system-system-spacing},
+@var{score-system-spacing}, @var{markup-system-spacing},
+@var{score-markup-spacing}, @var{markup-markup-spacing},
+@var{top-system-spacing}, @var{top-markup-spacing} and
+@var{last-bottom-spacing}.  Note that these variables ignore non-staff
+lines.  For example, @var{system-system-spacing} controls the spacing
 from the middle staff line of the bottom staff from one system to
 the middle staff line of the top staff of the next system, whether
 or not there are lyrics below the upper system.
@@ -1975,7 +1988,7 @@ c^"This text is placed close to the previous text"
 By default, outside-staff objects are placed only to avoid
 a horizontal collision with previously-positioned grobs.  This
 can lead to situations in which objects are placed very close to each
-other horizontally.  The vertical spacing between staffs can
+other horizontally.  The vertical spacing between staves can
 also be set so that outside staff objects are interleaved.
 Setting @code{outside-staff-horizontal-padding}
 causes an object to be offset vertically so that such a situation
@@ -2784,7 +2797,7 @@ there is no blank space at the bottom of the page.
 
 @example
 \paper @{
-  between-system-spacing = #'((padding . 0) (space . 0.1))
+  system-system-spacing = #'((padding . 0) (space . 0.1))
   ragged-last-bottom = ##f
   ragged-bottom = ##f
 @}
index c1441d085da920cfbec6af7ebc29f565b5c9742a..69db16abb172a155cf19c96b94d79a7de9d6f377 100644 (file)
@@ -124,7 +124,7 @@ as part of the syllable, a word is valid even if it ends with
 
 In this example, the @code{@}} is included in the final syllable, so the
 opening brace is not balanced and the input file will probably not
-compile.  Instead, always place white space around braces:
+compile.  Instead, braces should always be surrounded with white space:
 
 @example
 \lyricmode @{ lah lah lah @}
@@ -133,10 +133,10 @@ compile.  Instead, always place white space around braces:
 @cindex overrides in lyric mode
 @funindex \override in \lyricmode
 
-Similarly, a period which follows an alphabetic sequence is included
-in that sequence in lyric mode.  As a consequence, spaces must be
-inserted around the period in @code{\override} commands.  Do
-@emph{not} write
+Similarly, in lyric mode, a period will be included in the
+alphabetic sequence that it follows.  As a consequence, spaces
+must be inserted around the period in @code{\override} commands.
+Do @emph{not} write
 
 @example
 \override Score.LyricText #'font-shape = #'italic
@@ -149,19 +149,20 @@ but instead use
 \override Score . LyricText #'font-shape = #'italic
 @end example
 
-To enter punctuation, lyrics with accented characters, characters
-from non-English languages, or special characters (such as the heart
-symbol or slanted quotes), simply insert the characters directly
-into the input file and save it with UTF-8 encoding.  For more
-information, see @ref{Text encoding}.
+Punctuation, lyrics with accented characters, characters from
+non-English languages, or special characters (such as the heart
+symbol or slanted quotes), may simply be inserted directly
+into the input file, providing it is saved with UTF-8 encoding.
+For more information, see @ref{Text encoding}.
 
 @lilypond[quote,verbatim]
 \relative c' { e4 f e d e f e2 }
 \addlyrics { He said: “Let my peo -- ple go.” }
 @end lilypond
 
-To use normal quotes in lyrics, add a backslash before the
-quotes and place the whole syllable in quotes.  For example,
+Normal quotes may be used in lyrics, but they have to be preceded
+with a backslash character and the whole syllable has to be
+enclosed between additional quotes.  For example,
 
 @lilypond[quote,verbatim]
 \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
@@ -205,7 +206,7 @@ Lyrics are printed by interpreting them in the context called
 @code{Lyrics}, see @ref{Contexts explained}.
 
 @example
-\new Lyrics \lyricmode @dots{}
+\new Lyrics \lyricmode @{ @dots{} @}
 @end example
 
 Lyrics can be aligned with melodies in two main ways:
@@ -293,7 +294,7 @@ automatically.  This is achieved by combining the
 melody and the lyrics with the @code{\lyricsto} expression
 
 @example
-\new Lyrics \lyricsto @var{name} @dots{}
+\new Lyrics \lyricsto @var{name} @{ @dots{} @}
 @end example
 
 @noindent
@@ -307,9 +308,9 @@ then the lyrics are specified with @code{\lyricsto}.  The command
 
 @cindex \addlyrics
 
-The @code{\addlyrics} command is actually just a convenient way
-to write a more complicated LilyPond structure that sets up the
-lyrics.
+The @code{\addlyrics} command is actually just a convenient shortcut
+that can sometimes be used instead of having to set up the lyrics
+through a more complicated LilyPond structure.
 
 @example
 @{ MUSIC @}
@@ -333,7 +334,7 @@ Here is an example,
 @end lilypond
 
 More stanzas can be added by adding more
-@code{\addlyrics} sections
+@code{\addlyrics} sections:
 
 @lilypond[ragged-right,verbatim,fragment,quote]
 \time 3/4
@@ -344,16 +345,16 @@ More stanzas can be added by adding more
 @end lilypond
 
 The command @code{\addlyrics} cannot handle polyphony settings.
-For these cases you should use @code{\lyricsto} and
+For these cases one should use @code{\lyricsto} and
 @code{\lyricmode}, for details see @ref{Entering lyrics}.
 
 @node Manual syllable durations
 @unnumberedsubsubsec Manual syllable durations
 
 Lyrics can also be entered without @code{\addlyrics} or
-@code{\lyricsto}.  In this case,
-syllables are entered like notes -- but with pitches replaced by text -- and the
-duration of each syllable must be entered explicitly.  For example:
+@code{\lyricsto}.  In this case, syllables are entered like
+notes -- but with pitches replaced by text -- and the duration
+of each syllable must be entered explicitly.  For example:
 
 @example
 play2 the4 game2.
@@ -368,23 +369,58 @@ The alignment to a melody can be specified with the
 @end example
 
 @noindent
+
+@c TODO setting associated voice does more than format extender
+@c lines.  Document it properly.  Does it have anything to do
+@c with manual durations in lyrics?
+
 The value of the property (here: @code{"lala"}) should be the name of
 a @code{Voice} context.  Without this setting, extender lines
 will not be formatted properly.
 
 Here is an example demonstrating manual lyric durations,
 
-@lilypond[relative=1,ragged-right,verbatim,fragment,quote]
-<< \new Voice = "melody" {
+@lilypond[relative=1,verbatim,quote]
+<<
+  \new Voice = "melody" {
     \time 3/4
     c2 e4 g2.
- }
- \new Lyrics \lyricmode {
-   \set associatedVoice = #"melody"
-   play2 the4 game2.
- } >>
+  }
+  \new Lyrics \lyricmode {
+    \set associatedVoice = #"melody"
+    play2 the4 game2.
+  }
+>>
 @end lilypond
 
+In some complex vocal music, it may be desirable to place lyrics
+completely independently of notes.  In this case do not use
+@code{\lyricsto} or @code{\addlyrics} and do not set
+@code{associatedVoice}:
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+  \new Staff {
+    \relative c'' {
+      c2 c2
+      d1
+    }
+  }
+  \new Lyrics {
+    \lyricmode {
+      I2 like4. my8 cat!1
+    }
+  }
+  \new Staff {
+    \relative c' {
+      c8 c c c c c c c
+      c8 c c c c c c c
+    }
+  }
+>>
+@end lilypond
+
+@c TODO see also feature request 707 - show how to do this with manual durations
 
 @seealso
 Notation Reference:
@@ -406,7 +442,7 @@ Internals Reference:
 In order to assign more than one syllable to a single note with
 spaces between the syllables, you can surround the phrase with
 quotes or use a @code{_} character.  Alternatively, you can use
-code the tilde  symbol (@code{~}) to get a lyric tie.  The lyric
+code the tilde symbol (@code{~}) to get a lyric tie.  The lyric
 tie is implemented with the Unicode character U+203F, so be
 sure to have a font (like DejaVuLGC) installed that includes this
 glyph.
@@ -435,9 +471,9 @@ Internals Reference:
 @funindex \melismaEnd
 
 Sometimes, particularly in Medieval music, several notes are to be
-sung on one syllable; such vocalises are called melismas, or
-melismata.  The syllable to a melisma is usually left-aligned with
-the first note of the melisma.
+sung on one syllable; such vocalises are called melismata, or
+@rglos{melisma}s.  The syllable to a melisma is usually
+left-aligned with the first note of the melisma.
 
 When a melisma occurs on a syllable other that the last one in a
 word, that syllable is usually joined to the following one with a
@@ -587,6 +623,9 @@ detection of melismata; see @code{melismaBusyProperties} in
 @code{\melismaEnd}.
 
 @seealso
+Musical Glossary:
+@rglos{melisma}.
+
 Learning Manual:
 @rlearning{Aligning lyrics to a melody}.
 
@@ -665,15 +704,14 @@ Internals Reference:
 @node Techniques specific to lyrics
 @subsection Techniques specific to lyrics
 
-@c TODO This whole section is to be reorganized. -vv
+@c TODO this whole section is to be reorganised
 
 @menu
 * Working with lyrics and variables::
+* Placement of lyrics::
 * Lyrics and repeats::
 * Divisi lyrics::
-* Lyrics independent of notes::
 * Spacing out syllables::
-* Placement of lyrics::
 @end menu
 
 
@@ -715,7 +753,7 @@ hierarchy of staves and lyrics first, e.g.,
 @end example
 
 @noindent
-and then combine the appropriate melodies and lyric lines
+and then combine the appropriate melodies and lyric lines:
 
 @example
 \context Lyrics = sopranoLyrics \lyricsto "soprano"
@@ -726,10 +764,13 @@ and then combine the appropriate melodies and lyric lines
 The final input would resemble
 
 @example
-<<\new ChoirStaff << @emph{setup the music} >>
- \lyricsto "soprano" @emph{etc}
- \lyricsto "alto" @emph{etc}
-@emph{etc}
+<<
+  \new ChoirStaff <<
+    @emph{setup the music}
+  >>
+  \lyricsto "soprano" @emph{etc}
+  \lyricsto "alto" @emph{etc}
+  @emph{etc}
 >>
 @end example
 
@@ -740,6 +781,124 @@ Internals Reference:
 @rinternals{Lyrics}.
 
 
+@node Placement of lyrics
+@unnumberedsubsubsec Placement of lyrics
+
+@cindex placement of lyrics
+@cindex lyrics, positioning
+
+Depending on the type of music, lyrics may be positioned
+above the staff, below the staff, or between staves.  Placing
+lyrics below the associated staff is the easiest, and can be
+achieved by simply defining the Lyrics context below the Staff
+context:
+
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Staff {
+      \new Voice = "melody" {
+        \relative c'' { c4 c c c }
+      }
+    }
+    \new Lyrics {
+      \lyricsto "melody" {
+        Here are the words
+      }
+    }
+  >>
+}
+@end lilypond
+
+Lyrics may be positioned above the staff using one of
+two methods.  The simplest is to use the same syntax as
+above and explicitly specify the position of the lyrics:
+
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Staff = "staff" {
+      \new Voice = "melody" {
+        \relative c'' { c4 c c c }
+      }
+    }
+    \new Lyrics \with { alignAboveContext = "staff" } {
+      \lyricsto "melody" {
+        Here are the words
+      }
+    }
+  >>
+}
+@end lilypond
+
+Alternatively, a two-step process may be used.  First the Lyrics
+context is declared (without any content) before the Staff and
+Voice contexts, then the @code{\lyricsto} command comes after
+the Voice declaration it references, as follows:
+
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Lyrics = "lyrics"
+    \new Staff {
+      \new Voice = "melody" {
+        \relative c'' { c4 c c c }
+      }
+    }
+    \context Lyrics = "lyrics" {
+      \lyricsto "melody" {
+        Here are the words
+      }
+    }
+  >>
+}
+@end lilypond
+
+When there are two voices on separate staves the lyrics may be
+placed between the staves using either of these methods.  Here
+is an example of the second method:
+
+@lilypond[quote,verbatim]
+\score {
+  \new ChoirStaff <<
+    \new Staff {
+      \new Voice = "sopranos" {
+        \relative c'' { c4 c c c }
+      }
+    }
+    \new Lyrics = "sopranos"
+    \new Lyrics = "contraltos"
+    \new Staff {
+      \new Voice = "contraltos" {
+        \relative c'' { a4 a a a }
+      }
+    }
+    \context Lyrics = "sopranos" {
+      \lyricsto "sopranos" {
+        Sop -- ra -- no words
+      }
+    }
+    \context Lyrics = "contraltos" {
+      \lyricsto "contraltos" {
+        Con -- tral -- to words
+      }
+    }
+  >>
+}
+@end lilypond
+
+Other combinations of lyrics and staves may be generated by
+elaborating these examples, or by examining the
+@rlearning{Vocal ensembles} templates in the Learning Manual.
+
+@seealso
+Learning Manual:
+@rlearning{Vocal ensembles}.
+
+Notation Reference:
+@ref{Aligning contexts},
+@ref{Creating contexts}.
+
 @node Lyrics and repeats
 @unnumberedsubsubsec Lyrics and repeats
 
@@ -803,8 +962,8 @@ unfolded.
 }
 @end lilypond
 
-If the repeated section has different words and is unfolded simply
-enter all the words:
+If the repeated section is to be unfolded and has different words,
+simply enter all the words:
 
 @lilypond[verbatim,quote,ragged-right]
 \score {
@@ -831,15 +990,15 @@ enter all the words:
 @cindex lyric skip
 @funindex \skip
 
-When the words to a repeated volta section are different the words
+When the words to a repeated volta section are different, the words
 to each repeat must be entered in separate @code{Lyrics} contexts.
 Earlier unrepeated sections must be skipped in the second and
 subsequent repeats.  The easiest way to skip several notes is to
 use @code{\repeat unfold} around the @code{\skip} command.
 
-Note: do not use an underscore, @code{_}, to skip notes as this
-indicates a melisma and will cause the preceding syllable to be
-left-aligned.
+Note: do not use an underscore, @code{_}, to skip notes in this
+particular case.  As this syntax indicates a melisma, it will cause
+the preceding syllable to be left-aligned.
 
 @warning{The @code{@bs{}skip} command must be followed by a number,
 but this number is ignored in lyrics which derive their durations
@@ -1112,99 +1271,75 @@ alternative sections these must be inserted manually.
 @node Divisi lyrics
 @unnumberedsubsubsec Divisi lyrics
 
-You can display alternate (or divisi) lyrics by naming voice
-contexts and attaching lyrics to those specific contexts.
-
-@lilypond[verbatim,ragged-right,quote]
-\score{ <<
-  \new Voice = "melody" {
-    \relative c' {
-      c4
-      <<
-        { \voiceOne c8 e }
-        \new Voice = "splitpart" { \voiceTwo c4 }
-      >>
-      \oneVoice c4 c | c
-    }
-  }
-  \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
-  \new Lyrics \lyricsto "splitpart" { will }
->> }
-@end lilypond
-
-@c TODO remove this example - it's already shown in Repeats
+@cindex divided lyrics
+@cindex lyrics, divided
 
-You can use this trick to display different lyrics for a repeated
-section.
+When just the words and rhythms of the two parts differ with the
+pitches remaining the same, temporarily turning off the automatic
+detection of melismata and indicating the melisma in the lyrics
+may be the appropriate method to use:
 
-@lilypond[verbatim,ragged-right,quote]
-\score{ <<
-  \new Voice = "melody" \relative c' {
-    c2 e | g e | c1 |
-    \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | }
-    a2 b | c1}
-  \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode {
-    do mi sol mi do
-    la si do }
-  \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode {
-   do re mi fa sol }
-  \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode {
-   dodo rere mimi fafa solsol }
->>
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Voice = "melody" {
+      \relative c' {
+        \set melismaBusyProperties = #'()
+        \slurDown
+        \slurDashed
+        e4 e8 ( e ) c4 c |
+        \unset melismaBusyProperties
+        c
+      }
+    }
+    \new Lyrics \lyricsto "melody" {
+      They shall not o -- ver -- come
+    }
+    \new Lyrics \lyricsto "melody" {
+      We will _
+    }
+  >>
 }
 @end lilypond
 
+When both music and words differ it may be better to display
+the differing music and lyrics by naming voice contexts and
+attaching lyrics to those specific contexts:
 
-
-@node Lyrics independent of notes
-@unnumberedsubsubsec Lyrics independent of notes
-
-@c TODO remove this section?  Don't use DevNull 
-@c should be all in Manual Syllable durations
-
-@cindex Devnull context
-
-In some complex vocal music, it may be desirable to place
-lyrics completely independently of notes.  Music defined
-inside @code{lyricrhythm} disappears into the
-@code{Devnull} context, but the rhythms can still be used
-to place the lyrics.
-
-@lilypond[quote,verbatim,ragged-right]
-voice = {
-  c''2
-  \tag #'music { c''2 }
-  \tag #'lyricrhythm { c''4. c''8 }
-  d''1
+@lilypond[verbatim,ragged-right,quote]
+\score {
+  <<
+    \new Voice = "melody" {
+      \relative c' {
+        <<
+          {
+            \voiceOne
+            e4 e8 e
+          }
+          \new Voice = "splitpart" {
+            \voiceTwo
+            c4 c
+          }
+        >>
+        \oneVoice
+        c4 c |
+        c
+      }
+    }
+    \new Lyrics \lyricsto "melody" {
+      They shall not o -- ver -- come
+    }
+    \new Lyrics \lyricsto "splitpart" {
+      We will
+    }
+  >>
 }
-
-lyr = \lyricmode { I like my cat! }
-
-<<
-  \new Staff \keepWithTag #'music \voice
-  \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
-  \new Lyrics \lyricsto "nowhere" \lyr
-  \new Staff { c'8 c' c' c' c' c' c' c'
-  c' c' c' c' c' c' c' c' }
->>
 @end lilypond
 
-This method is recommended only if the music in the @code{Devnull}
-context does not contain melismata.  Melismata are defined by the
-@code{Voice} context.  Connecting lyrics to a @code{Devnull} context
-makes the voice/lyrics links to get lost, and so does the info on
-melismata.  Therefore, if you link lyrics to a @code{Devnull} context,
-the implicit melismata get ignored.
-
-@c Conclusion: do not use devnull for lyrics -FV
-
-@c this clarifies http://code.google.com/p/lilypond/issues/detail?id=248
 
 @node Spacing out syllables
 @unnumberedsubsubsec Spacing out syllables
 
-@c TODO move to second item
-
 @cindex Spacing lyrics
 @cindex Lyrics, increasing space between
 
@@ -1288,124 +1423,6 @@ To make lyrics avoid bar lines as well, use
 @end ignore
 
 
-@node Placement of lyrics
-@unnumberedsubsubsec Placement of lyrics
-
-@cindex placement of lyrics
-@cindex lyrics, positioning
-
-@c TODO Add text from -user
-
-Lyrics are positioned above the staff, below the staff, or between
-staves, depending on the type of music.  To place lyrics below the
-associated staff simply define the Lyrics context below the Staff
-context:
-
-@lilypond[quote,verbatim]
-\score {
-  <<
-    \new Staff {
-      \new Voice = "melody" {
-        \relative c'' { c4 c c c }
-      }
-    }
-    \new Lyrics {
-      \lyricsto "melody" {
-        Here are the words
-      }
-    }
-  >>
-}
-@end lilypond
-
-To position lyrics above the staff, place the declaration of the
-Lyrics context before the Staff and Voice contexts, but the
-@code{\lyricsto} command must come after the Voice declaration it
-references, like this:
-
-@lilypond[quote,verbatim]
-\score {
-  <<
-    \new Lyrics = "lyrics"
-    \new Staff {
-      \new Voice = "melody" {
-        \relative c'' { c4 c c c }
-      }
-    }
-    \context Lyrics = "lyrics" {
-      \lyricsto "melody" {
-        Here are the words
-      }
-    }
-  >>
-}
-@end lilypond
-
-Alternatively, the position of the lyrics may be specified
-explicitly:
-
-@lilypond[quote,verbatim]
-\score {
-  <<
-    \new Staff = "staff" {
-      \new Voice = "melody" {
-        \relative c'' { c4 c c c }
-      }
-    }
-    \new Lyrics \with { alignAboveContext = "staff" } {
-      \lyricsto "melody" {
-        Here are the words
-      }
-    }
-  >>
-}
-@end lilypond
-
-When there are two voices on separate staves the lyrics may be
-placed between the staves using either of these methods.  Here
-is an example of the first method:
-
-@lilypond[quote,verbatim]
-\score {
-  \new ChoirStaff <<
-    \new Staff {
-      \new Voice = "sopranos" {
-        \relative c'' { c4 c c c }
-      }
-    }
-    \new Lyrics = "sopranos"
-    \new Lyrics = "contraltos"
-    \new Staff {
-      \new Voice = "contraltos" {
-        \relative c'' { a4 a a a }
-      }
-    }
-    \context Lyrics = "sopranos" {
-      \lyricsto "sopranos" {
-        Sop -- ra -- no words
-      }
-    }
-    \context Lyrics = "contraltos" {
-      \lyricsto "contraltos" {
-        Con -- tral -- to words
-      }
-    }
-  >>
-}
-@end lilypond
-
-Other combinations of lyrics and staves may be generated by
-elaborating these examples, or by examining the SATB templates in
-the Learning Manual.
-
-@seealso
-Learning Manual:
-@rlearning{Vocal ensembles}.
-
-Notation Reference:
-@ref{Aligning contexts},
-@ref{Creating contexts}.
-
 @node Stanzas
 @subsection Stanzas
 
index b31ea50a63c9c9863134412d10557cc740dc294b..80ad40ccdd4c6f1c62b60a83c5db57e894d25d42 100644 (file)
@@ -599,8 +599,11 @@ This release's lilypond-book tests.
 @subsubheading All versions
 
 @itemize
-@item @uref{http://lilypond.org/test, Archive of regression tests}:
-Comparisons between versions.
+@item @uref{http://lilypond.org/test, Comparisons between regression tests}
+
+@item @uref{http://lilypond.org/download/binaries/test-output/,
+Archive of all regression tests}
+
 @end itemize
 
 @divEnd
index ad881d728ee366f5b80394e16702fb6c326d1a67..2b21e435dc68b8cfcafb80db86fdee9e5d082bde 100644 (file)
@@ -2347,10 +2347,9 @@ from the order that they were defined. (@ref{Old downloads})
 @newsItem
 @subsubheading 2.5.23 released - @emph{May 6, 2005}
 This release has a couple of small bugfixes, and a new feature. It is
-now possible to start and stop the StaffSymbol, during a piece of
-music, by doing \stopStaff \startStaff. This can be used to produce
-Ossia
-staves. (@ref{Changes},
+now possible to start and stop the @code{StaffSymbol}, during a piece of
+music, by doing @code{\stopStaff \startStaff}. This can be used to
+produce Ossia staves. (@ref{Changes},
 @ref{Old downloads})
 @newsEnd
 
diff --git a/input/regression/page-breaking-markup-padding.ly b/input/regression/page-breaking-markup-padding.ly
new file mode 100644 (file)
index 0000000..5603ece
--- /dev/null
@@ -0,0 +1,18 @@
+\version "2.13.36"
+
+#(set-default-paper-size "a6")
+
+\book {
+  \header {
+    texidoc = "Padding between markups is honored by the page
+breaker.  This should take up two pages."
+  }
+
+  \paper {
+    markup-markup-spacing = #'((padding . 300))
+  }
+
+  \markup "00"
+  \markup "01"
+  { c' }
+}
diff --git a/input/regression/page-breaking-markup-padding2.ly b/input/regression/page-breaking-markup-padding2.ly
new file mode 100644 (file)
index 0000000..c0350fb
--- /dev/null
@@ -0,0 +1,18 @@
+\version "2.13.36"
+
+#(set-default-paper-size "a6")
+
+\book {
+  \header {
+    texidoc = "Padding between a markup and a system is honored by
+the page breaker.  This should take up two pages."
+  }
+
+  \paper {
+    markup-system-spacing = #'((padding . 300))
+  }
+
+  \markup "00"
+  \markup "01"
+  { c' }
+}
diff --git a/input/regression/page-breaking-markup-padding3.ly b/input/regression/page-breaking-markup-padding3.ly
new file mode 100644 (file)
index 0000000..ee98798
--- /dev/null
@@ -0,0 +1,21 @@
+\version "2.13.36"
+
+#(set-default-paper-size "a6")
+
+\book {
+  \header {
+    texidoc = "Padding between a score and a markup is honored by
+the page breaker.  This should take up two pages."
+  }
+
+  \paper {
+    score-markup-spacing = #'((padding . 300))
+  }
+
+  \markup "00"
+  \markup "01"
+  \score {
+    { c'1 \allowPageTurn }
+  }
+  \markup "02"
+}
index ad8dbdb20a8abe8e2c0862be9707f4fe37a6631c..9b0fc42fdd1351e8a0f3b90b2ad4abb6f8ec870a 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.13.22"
+\version "2.13.36"
 
 \header {
   texidoc = "minimum-distance is correctly accounted for in page breaking."
@@ -6,7 +6,7 @@
 
 \book {
   \paper {
-    between-scores-system-spacing #'minimum-distance = #'20
+    score-system-spacing #'minimum-distance = #'20
     paper-height = 8\cm
   }
 
diff --git a/input/regression/page-breaking-title-padding.ly b/input/regression/page-breaking-title-padding.ly
deleted file mode 100644 (file)
index 203fbde..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-\version "2.13.4"
-
-#(set-default-paper-size "a6")
-
-\book {
-  \header {
-    texidoc = "Padding between titles is honoured by the page breaker.
-This should take up two pages."
-  }
-
-  \paper {
-    between-title-spacing = #'((padding . 300))
-  }
-
-  \markup "00"
-  \markup "01"
-  { c' }
-}
diff --git a/input/regression/page-breaking-title-padding2.ly b/input/regression/page-breaking-title-padding2.ly
deleted file mode 100644 (file)
index 60ec2cf..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-\version "2.13.4"
-
-#(set-default-paper-size "a6")
-
-\book {
-  \header {
-    texidoc = "Padding after titles is honoured by the page breaker.
-This should take up two pages."
-  }
-
-  \paper {
-    after-title-spacing = #'((padding . 300))
-  }
-
-  \markup "00"
-  \markup "01"
-  { c' }
-}
diff --git a/input/regression/page-breaking-title-padding3.ly b/input/regression/page-breaking-title-padding3.ly
deleted file mode 100644 (file)
index 945e828..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-\version "2.13.4"
-
-#(set-default-paper-size "a6")
-
-\book {
-  \header {
-    texidoc = "Padding before titles is honoured by the page breaker.
-This should take up two pages."
-  }
-
-  \paper {
-    before-title-spacing = #'((padding . 300))
-  }
-
-  \markup "00"
-  \markup "01"
-  \score {
-    { c'1 \allowPageTurn }
-  }
-  \markup "02"
-}
index 3f549c42b9d00d6f2e58f490f65677996fd7e19c..acc55b9cabb6f6bb6a4cf05e4d69a50ed23f4a68 100644 (file)
@@ -1,14 +1,15 @@
-\version "2.13.4"
+\version "2.13.36"
 
 \header {
-  texidoc = "Loose lines between two systems don't confuse the layout engine.
-In particular, they don't interfere with @var{between-system-spacing},
-which measures distances between spaceable staves."
+  texidoc = "Loose lines between two systems don't confuse the
+layout engine.  In particular, they don't interfere with
+@code{system-system-spacing}, which controls the flexible spacing
+between the two closest staves of consecutive systems."
 }
 
 \paper {
   ragged-right = ##t
-  between-system-spacing = #'((space . 20) (minimum-distance . 30))
+  system-system-spacing = #'((space . 20) (minimum-distance . 30))
   annotate-spacing = ##t
 }
 
index fca9e620b658a6a6de13b29d21fa596529b7d7c6..7b7285c298b6639ee4e92d56326d8a6312261686 100644 (file)
@@ -1,4 +1,4 @@
-\version"2.13.4"
+\version "2.13.36"
 
 \header {
   texidoc = "Padding from the header and footer is measured to the first
@@ -10,7 +10,7 @@ line, whether or not it is spaceable."
 \book {
   \paper {
     top-system-spacing = #'((space . 1) (padding . 10))
-    bottom-system-spacing = #'((space . 1) (padding . 10))
+    last-bottom-spacing = #'((space . 1) (padding . 10))
     annotate-spacing = ##t
     ragged-last-bottom = ##f
   }
@@ -29,4 +29,4 @@ line, whether or not it is spaceable."
       \new Lyrics \lyricmode { foo }
     >>
   }
-}
\ No newline at end of file
+}
diff --git a/input/regression/page-spacing-top-markup-spacing.ly b/input/regression/page-spacing-top-markup-spacing.ly
new file mode 100644 (file)
index 0000000..63fffba
--- /dev/null
@@ -0,0 +1,20 @@
+\version "2.13.36"
+
+#(set-default-paper-size "a6")
+
+\book {
+
+  \header {
+    texidoc = "@code{top-markup-spacing} controls the spacing from
+the top of the printable area (i.e. the bottom of the top margin)
+to a title or markup, when it is the first item on a page."
+    title = "Title"
+  }
+
+  \paper {
+    top-markup-spacing = #'((minimum-distance . 30))
+    ragged-bottom = ##t
+  }
+
+  { c'1 \pageBreak c'1 }
+}
index dbb1689c967961fc22ca271d04d802775220b90f..b93f29223b618765c421b66dded2966bfa68ebf9 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.13.2"
+\version "2.13.36"
 
 #(set-default-paper-size "a6")
 
@@ -16,4 +16,4 @@ non-title staff on every page."
   }
 
   { c'1 \pageBreak c'1 }
-}
\ No newline at end of file
+}
diff --git a/input/regression/page-spacing-top-title-spacing.ly b/input/regression/page-spacing-top-title-spacing.ly
deleted file mode 100644 (file)
index 823b62f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-\version "2.13.2"
-
-#(set-default-paper-size "a6")
-
-\book {
-
-  \header {
-    texidoc = "@var{top-title-spacing} controls the spacing
-from the top margin to a title (or markup), provided that it is
-the first system on a page."
-    title = "Title" }
-
-  \paper {
-    top-title-spacing = #'((minimum-distance . 30))
-    ragged-bottom = ##t
-  }
-
-  { c'1 \pageBreak c'1 }
-}
\ No newline at end of file
index 67ca6796b1c662309e6a7bce80a70092f1f4e8aa..dc4a4ad93bd17b1066800a9eddf4e5c04b84cd0e 100644 (file)
@@ -1,11 +1,11 @@
-\version "2.13.9"
+\version "2.13.36"
 
 \header {
   texidoc = "Nested properties can be set in the paper block."
 }
 
 \paper {
-  between-system-spacing #'minimum-distance = #0.0
+  system-system-spacing #'minimum-distance = #0.0
 }
 
 { c1 \break c1 }
index eb699287cf6e6995e59e563f0a5e6cc5f519a72e..11d1bdd7b7f84bb945eb8c2177e98e04e59afa9f 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.13.22"
+\version "2.13.36"
 
 \header {
   texidoc = "Stems with overridden 'length should not confuse height estimation.
@@ -6,12 +6,11 @@ This example should fit snugly on one page.
 "
 }
 
-\paper { 
+\paper {
   #(set-paper-size "a6")
   tagline = ##f
-  between-system-spacing #'padding = #1.20
-}   
-
+  system-system-spacing #'padding = #1.20
+}
 
 \new Voice {
   \voiceTwo
index 7877cc16e7b06f9c4ae835ec1d51f6322a402502..1a304b3156613f355404fb7756c17475fc7c39bc 100644 (file)
@@ -1,4 +1,5 @@
-\version "2.13.3"
+\version "2.13.36"
+
 \header {
   texidoc = "By setting the padding between systems to a negative
 value, it is possible to eliminate the anti-collision constraints.
@@ -7,8 +8,8 @@ value, it is possible to eliminate the anti-collision constraints.
 
 \book {
   \paper {
-      ragged-bottom =##t
-      between-system-spacing = #'((space . 1) (padding . -10))
+    ragged-bottom = ##t
+    system-system-spacing = #'((space . 1) (padding . -10))
   }
 
   {
index eda697e56bad80e7ee9c14ffe6a30453445ce13e..73732ec3ad07a4beea3ce7ac8a6d2f4ed0831494 100644 (file)
@@ -390,43 +390,43 @@ Constrained_breaking::initialize ()
      page layout.  Currently, we just make it zero always, which means
      that we will always prefer a tighter vertical layout.
   */
-  between_system_space_ = 0;
-  between_system_padding_ = 0;
-  between_system_min_distance_ = 0;
-  between_scores_system_padding_ = 0;
-  between_scores_system_min_distance_ = 0;
-  before_title_padding_ = 0;
-  before_title_min_distance_ = 0;
+  system_system_space_ = 0;
+  system_system_padding_ = 0;
+  system_system_min_distance_ = 0;
+  score_system_padding_ = 0;
+  score_system_min_distance_ = 0;
+  score_markup_padding_ = 0;
+  score_markup_min_distance_ = 0;
 
   Output_def *l = pscore_->layout ();
 
-  SCM spacing_spec = l->c_variable ("between-system-spacing");
-  SCM between_scores_spec = l->c_variable ("between-scores-system-spacing");
-  SCM title_spec = l->c_variable ("before-title-spacing");
-  SCM page_breaking_spacing_spec = l->c_variable ("page-breaking-between-system-spacing");
+  SCM spacing_spec = l->c_variable ("system-system-spacing");
+  SCM between_scores_spec = l->c_variable ("score-system-spacing");
+  SCM title_spec = l->c_variable ("score-markup-spacing");
+  SCM page_breaking_spacing_spec = l->c_variable ("page-breaking-system-system-spacing");
   Page_layout_problem::read_spacing_spec (spacing_spec,
-                                         &between_system_padding_,
+                                         &system_system_padding_,
                                          ly_symbol2scm ("padding"));
   Page_layout_problem::read_spacing_spec (between_scores_spec,
-                                         &between_scores_system_padding_,
+                                         &score_system_padding_,
                                          ly_symbol2scm ("padding"));
   Page_layout_problem::read_spacing_spec (page_breaking_spacing_spec,
-                                         &between_system_padding_,
+                                         &system_system_padding_,
                                          ly_symbol2scm ("padding"));
   Page_layout_problem::read_spacing_spec (title_spec,
-                                         &before_title_padding_,
+                                         &score_markup_padding_,
                                          ly_symbol2scm ("padding"));
   Page_layout_problem::read_spacing_spec (between_scores_spec,
-                                         &between_scores_system_min_distance_,
+                                         &score_system_min_distance_,
                                          ly_symbol2scm ("minimum-distance"));
   Page_layout_problem::read_spacing_spec (spacing_spec,
-                                         &between_system_min_distance_,
+                                         &system_system_min_distance_,
                                          ly_symbol2scm ("minimum-distance"));
   Page_layout_problem::read_spacing_spec (page_breaking_spacing_spec,
-                                         &between_system_min_distance_,
+                                         &system_system_min_distance_,
                                          ly_symbol2scm ("minimum-distance"));
   Page_layout_problem::read_spacing_spec (title_spec,
-                                         &before_title_min_distance_,
+                                         &score_markup_min_distance_,
                                          ly_symbol2scm ("minimum-distance"));
 
   Interval first_line = line_dimensions_int (pscore_->layout (), 0);
@@ -508,12 +508,12 @@ Constrained_breaking::fill_line_details (Line_details *const out, vsize start, v
                         || isnan (rest_of_line_extent[RIGHT]))
     ? Interval (0, 0) : rest_of_line_extent;
   out->shape_ = Line_shape (begin_of_line_extent, rest_of_line_extent);
-  out->padding_ = last ? between_scores_system_padding_ : between_system_padding_;
-  out->title_padding_ = before_title_padding_;
-  out->min_distance_ = last ? between_scores_system_min_distance_ : between_system_min_distance_;
-  out->title_min_distance_ = before_title_min_distance_;
-  out->space_ = between_system_space_;
-  out->inverse_hooke_ = out->full_height () + between_system_space_;
+  out->padding_ = last ? score_system_padding_ : system_system_padding_;
+  out->title_padding_ = score_markup_padding_;
+  out->min_distance_ = last ? score_system_min_distance_ : system_system_min_distance_;
+  out->title_min_distance_ = score_markup_min_distance_;
+  out->space_ = system_system_space_;
+  out->inverse_hooke_ = out->full_height () + system_system_space_;
 }
 
 Real
@@ -527,8 +527,8 @@ Constrained_breaking::combine_demerits (Real force, Real prev_force)
 
 Line_details::Line_details (Prob *pb, Output_def *paper)
 {
-  SCM spec = paper->c_variable ("after-title-spacing");
-  SCM title_spec = paper->c_variable ("between-title-spacing");
+  SCM spec = paper->c_variable ("markup-system-spacing");
+  SCM title_spec = paper->c_variable ("markup-markup-spacing");
   padding_ = 0;
   title_padding_ = 0;
   min_distance_ = 0;
index c461859f7c92e6a549ddeb5d8bc8bb4602f1dab8..ab014cbcc4e59c0c332824a427a36cae7f28df50 100644 (file)
@@ -157,13 +157,13 @@ private:
   bool ragged_right_;
   bool ragged_last_;
 
-  Real between_system_min_distance_;
-  Real between_system_padding_;
-  Real between_system_space_;
-  Real between_scores_system_min_distance_;
-  Real between_scores_system_padding_;
-  Real before_title_min_distance_;
-  Real before_title_padding_;
+  Real system_system_min_distance_;
+  Real system_system_padding_;
+  Real system_system_space_;
+  Real score_system_min_distance_;
+  Real score_system_padding_;
+  Real score_markup_min_distance_;
+  Real score_markup_padding_;
 
   /* the (i,j)th entry is the configuration for breaking between
     columns i and j */
index 152950563b5283d8be4d185093100be292e4f442..cbf956b578ad2d09aaa144bec55f13505504f686 100644 (file)
@@ -162,6 +162,7 @@ extern bool parsed_objects_should_be_dead;
       ::programming_error (string ("Parsed object should be dead: ")  + __PRETTY_FUNCTION__ ); \
       passed_here_once = true;\
     } \
+  } \
   while (0)
 #else
 #define ASSERT_LIVE_IS_ALLOWED() do { } \
index 543665f97bb4d53b7ff3e74940b796b75190602d..3fb4d18b0c723f0c1c1cafdf470f33c50501b0d2 100644 (file)
@@ -1453,7 +1453,7 @@ Page_breaking::min_whitespace_at_top_of_page (Line_details const &line) const
 {
   SCM first_system_spacing = book_->paper_->c_variable ("top-system-spacing");
   if (line.title_)
-    first_system_spacing = book_->paper_->c_variable ("top-title-spacing");
+    first_system_spacing = book_->paper_->c_variable ("top-markup-spacing");
 
   Real min_distance = -infinity_f;
   Real padding = 0;
@@ -1473,7 +1473,7 @@ Page_breaking::min_whitespace_at_top_of_page (Line_details const &line) const
 Real
 Page_breaking::min_whitespace_at_bottom_of_page (Line_details const &line) const
 {
-  SCM last_system_spacing = book_->paper_->c_variable ("bottom-system-spacing");
+  SCM last_system_spacing = book_->paper_->c_variable ("last-bottom-spacing");
   Real min_distance = -infinity_f;
   Real padding = 0;
 
index 23069add37372d4d1040923e9cab4ec83541a1f4..bf3395b2e3c82deeeb03fbb0532eb40d1a5dcd1d 100644 (file)
@@ -57,30 +57,30 @@ Page_layout_problem::Page_layout_problem (Paper_book *pb, SCM page_scm, SCM syst
   // below the top of the printable area.
   bottom_skyline_.set_minimum_height (-header_height_);
 
-  SCM between_system_spacing = SCM_EOL;
-  SCM between_scores_system_spacing = SCM_EOL;
-  SCM after_title_spacing = SCM_EOL;
-  SCM before_title_spacing = SCM_EOL;
-  SCM between_title_spacing = SCM_EOL;
+  SCM system_system_spacing = SCM_EOL;
+  SCM score_system_spacing = SCM_EOL;
+  SCM markup_system_spacing = SCM_EOL;
+  SCM score_markup_spacing = SCM_EOL;
+  SCM markup_markup_spacing = SCM_EOL;
 
   // top_system_spacing controls the spring from the top of the printable
   // area to the first staff. It allows the user to control the offset of
   // the first staff (as opposed to the top of the first system) from the
-  // top of the page. Similarly for bottom_system_spacing.
+  // top of the page. Similarly for last_bottom_spacing.
   SCM top_system_spacing = SCM_EOL;
-  SCM bottom_system_spacing = SCM_EOL;
+  SCM last_bottom_spacing = SCM_EOL;
   if (pb && pb->paper_)
     {
       Output_def *paper = pb->paper_;
-      between_system_spacing = paper->c_variable ("between-system-spacing");
-      between_scores_system_spacing = paper->c_variable ("between-scores-system-spacing");
-      after_title_spacing = paper->c_variable ("after-title-spacing");
-      before_title_spacing = paper->c_variable ("before-title-spacing");
-      between_title_spacing = paper->c_variable ("between-title-spacing");
-      bottom_system_spacing = paper->c_variable ("bottom-system-spacing");
+      system_system_spacing = paper->c_variable ("system-system-spacing");
+      score_system_spacing = paper->c_variable ("score-system-spacing");
+      markup_system_spacing = paper->c_variable ("markup-system-spacing");
+      score_markup_spacing = paper->c_variable ("score-markup-spacing");
+      markup_markup_spacing = paper->c_variable ("markup-markup-spacing");
+      last_bottom_spacing = paper->c_variable ("last-bottom-spacing");
       top_system_spacing = paper->c_variable ("top-system-spacing");
       if (scm_is_pair (systems) && unsmob_prob (scm_car (systems)))
-       top_system_spacing = paper->c_variable ("top-title-spacing");
+       top_system_spacing = paper->c_variable ("top-markup-spacing");
 
       // Note: the page height here does _not_ reserve space for headers and
       // footers. This is because we want to anchor the top-system-spacing
@@ -89,7 +89,7 @@ Page_layout_problem::Page_layout_problem (Paper_book *pb, SCM page_scm, SCM syst
        + robust_scm2double (paper->c_variable ("bottom-margin"), 0);
 
       read_spacing_spec (top_system_spacing, &header_padding_, ly_symbol2scm ("padding"));
-      read_spacing_spec (bottom_system_spacing, &footer_padding_, ly_symbol2scm ("padding"));
+      read_spacing_spec (last_bottom_spacing, &footer_padding_, ly_symbol2scm ("padding"));
     }
   bool last_system_was_title = false;
 
@@ -107,13 +107,13 @@ Page_layout_problem::Page_layout_problem (Paper_book *pb, SCM page_scm, SCM syst
              continue;
            }
 
-         SCM spec = between_system_spacing;
+         SCM spec = system_system_spacing;
          if (first)
            spec = top_system_spacing;
          else if (last_system_was_title)
-           spec = after_title_spacing;
+           spec = markup_system_spacing;
          else if (0 == Paper_column::get_rank (sys->get_bound (LEFT)))
-           spec = between_scores_system_spacing;
+           spec = score_system_spacing;
 
          Spring spring (0, 0);
          Real padding = 0.0;
@@ -126,7 +126,7 @@ Page_layout_problem::Page_layout_problem (Paper_book *pb, SCM page_scm, SCM syst
       else if (Prob *p = unsmob_prob (scm_car (s)))
        {
          SCM spec = first ? top_system_spacing
-           : (last_system_was_title ? between_title_spacing : before_title_spacing);
+           : (last_system_was_title ? markup_markup_spacing : score_markup_spacing);
          Spring spring (0, 0);
          Real padding = 0.0;
          alter_spring_from_spacing_spec (spec, &spring);
@@ -141,8 +141,8 @@ Page_layout_problem::Page_layout_problem (Paper_book *pb, SCM page_scm, SCM syst
 
   Spring last_spring (0, 0);
   Real last_padding = 0;
-  alter_spring_from_spacing_spec (bottom_system_spacing, &last_spring);
-  read_spacing_spec (bottom_system_spacing, &last_padding, ly_symbol2scm ("padding"));
+  alter_spring_from_spacing_spec (last_bottom_spacing, &last_spring);
+  read_spacing_spec (last_bottom_spacing, &last_padding, ly_symbol2scm ("padding"));
   last_spring.ensure_min_distance (last_padding - bottom_skyline_.max_height () + footer_height_);
   springs_.push_back (last_spring);
 
@@ -150,7 +150,7 @@ Page_layout_problem::Page_layout_problem (Paper_book *pb, SCM page_scm, SCM syst
     {
       Real bottom_padding = 0;
 
-      // TODO: junk bottom-space now that we have bottom-system-spacing?
+      // TODO: junk bottom-space now that we have last-bottom-spacing?
       // bottom-space has the flexibility that one can do it per-system.
       // NOTE: bottom-space is misnamed since it is not stretchable space.
       if (Prob *p = elements_.back ().prob)
index dbf907b44141f9a7b93ee9c348e998b7c1de0309..f8460ca12b775bce946435417cf41f821257e6c3 100644 (file)
        (is-book-title . #t)))
 
   %% Note: these are not scaled; they are in staff-spaces.
-  between-system-spacing = #'((space . 12) (minimum-distance . 8) (padding . 1))
-  between-scores-system-spacing = #'((space . 14) (minimum-distance . 8) (padding . 1))
-  after-title-spacing = #'((space . 5) (padding . 0.5))
-  before-title-spacing = #'((space . 12) (padding . 0.5))
-  between-title-spacing = #'((space . 1) (padding . 0.5))
+  system-system-spacing = #'((space . 12) (minimum-distance . 8) (padding . 1))
+  score-system-spacing = #'((space . 14) (minimum-distance . 8) (padding . 1))
+  markup-system-spacing = #'((space . 5) (padding . 0.5))
+  score-markup-spacing = #'((space . 12) (padding . 0.5))
+  markup-markup-spacing = #'((space . 1) (padding . 0.5))
   top-system-spacing = #'((space . 1) (padding . 1) (minimum-distance . 0))
-  top-title-spacing = #'((space . 0) (padding . 1) (minimum-distance . 0))
-  bottom-system-spacing = #'((space . 1) (padding . 1) (minimum-distance . 0) (stretchability . 5))
+  top-markup-spacing = #'((space . 0) (padding . 1) (minimum-distance . 0))
+  last-bottom-spacing = #'((space . 1) (padding . 1) (minimum-distance . 0) (stretchability . 5))
 
   ragged-bottom = ##f
 
index 3920e36c4d4458fd2c526b41738cc53b062b919c..645d6d8b47ab987c94da60c0fb83f3b1e3b7931f 100644 (file)
@@ -452,6 +452,7 @@ fet_beginchar ("accordion oldEE", "oldEE")
        fi;
 fet_endchar;
 
+
 fet_beginchar ("accordion push", "push");
        save width, height;
 
@@ -474,21 +475,17 @@ fet_beginchar ("accordion push", "push");
        top y1 = height;
 
        rt x2 = 0;
-       y2 = 0.5 * (y1+y3);
+       y2 = 0.5 * (y1 + y3);
 
-       x3= x1;
+       x3 = x1;
        bot y3 = 0;
 
-       save pat;
-
-       path pat;
-
-       pat = z1 -- z2 -- z3;
-
-       draw pat;
-
+       draw z1
+            -- z2
+            -- z3;
 fet_endchar;
 
+
 fet_beginchar ("accordion pull", "pull");
        save width, height;
 
@@ -525,24 +522,17 @@ fet_beginchar ("accordion pull", "pull");
        x5 = x1;
        y5 = y4;
 
-       save pat;
-
-       path pat;
-
-       pat = z1 + penradius * right {up} --
-             z2 + penradius * right {up} ..
-             z2 + penradius * up {left} --
-             z3 + penradius * up {left} ..
-             z3 + penradius * left {down} --
-             z4 + penradius * left {down} ..
-             z4 + penradius * down {right} --
-             z5 + penradius * (down + left) --
-             z1 + penradius * left {down} ..
-             z1 + penradius * down {right} ..
-             cycle;
-
-       fill pat;
-
+       fill z1 + penradius * right {up}
+            -- z2 + penradius * right {up}
+            .. z2 + penradius * up {left}
+            -- z3 + penradius * up {left}
+            .. z3 + penradius * left {down}
+            -- z4 + penradius * left {down}
+            .. z4 + penradius * down {right}
+            -- z5 + penradius * (down + left)
+            -- z1 + penradius * left {down}
+            .. z1 + penradius * down {right}
+            .. cycle;
 fet_endchar;
 
 fet_endgroup ("accordion");
index da8d2344530733a30d8e0fef5c0d7556c2a67fff..8b67607bf75165e72f48aad260490e5c55ee7902 100644 (file)
@@ -1,4 +1,4 @@
-% Feta (not the Font-En-Tja) music font --  implement noteheads
+% Feta (not the Font-En-Tja) music font -- implement noteheads
 % This file is part of LilyPond, the GNU music typesetter.
 %
 % Copyright (C) 1997--2010 Jan Nieuwenhuizen <janneke@gnu.org>
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 % GNU General Public License for more details.
 %
 % You should have received a copy of the GNU General Public License
-% along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
+% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
 test_outlines := 0;
 
@@ -207,6 +207,7 @@ fet_beginchar ("Longa notehead", "uM2");
        draw_staff (-2, 2, 0);
 fet_endchar;
 
+
 fet_beginchar ("Longa notehead", "dM2");
        draw_longa (false);
 
@@ -221,6 +222,7 @@ if test > 0:
                draw_staff (-2, 2, 0.5);
        fet_endchar;
 
+
        fet_beginchar ("Longa notehead", "dM2");
                draw_longa (false);
 
@@ -964,10 +966,12 @@ fet_beginchar ("X-Circled notehead", "s2xcircle");
        ypos := .5 cyd / sqrt2;
 
        pickup penrazor scaled cthick rotated (angle (xpos, ypos) + 90);
-       draw (-xpos + w / 2, -ypos + dy) -- (xpos + w / 2, ypos + dy);
+       draw (-xpos + w / 2, -ypos + dy)
+            -- (xpos + w / 2, ypos + dy);
 
        pickup penrazor scaled cthick rotated (angle (xpos, -ypos) + 90);
-       draw (-xpos + w / 2, ypos + dy) -- (xpos + w / 2, -ypos + dy);
+       draw (-xpos + w / 2, ypos + dy)
+            -- (xpos + w / 2, -ypos + dy);
 
        charwx := charwd;
        charwy := 0;
@@ -1003,16 +1007,20 @@ fi;
 % SOLFA SHAPED NOTES
 %
 %
-%   Note: for whole and half notes, the "fill" curve (p_out) is offset
-%   from the points that specify the outer geometry, because we need
-%   to add the rounding.  In contrast, the inner curve is not
-%   offset, because there is no rounding.
+% Note: For whole and half notes, the `fill' curve (p_out) is offset from
+%       the points that specify the outer geometry, because we need to add
+%       the rounding.  In contrast, the inner curve is not offset, because
+%       there is no rounding.
+%
+%       This means that to get a line of thick_factor * pen_thickness,
+%       we need to offset the inner curve by
+%
+%         (thick_factor - 0.5) * pen_thickness
+%
+%       or by
+%
+%         (2 * thick_factor - 1) * half_pen_thickness
 %
-%   This means that to get a line of thick_factor * pen_thickness,
-%   we need to offset the inner curve by
-%   (thick_factor - 0.5) * pen_thickness or by
-%   (2 * thick_factor - 1) * half_pen_thickness
-
 save solfa_pen_thick;
 solfa_pen_thick# = 1.3 stafflinethickness#;
 define_blacker_pixels (solfa_pen_thick);
@@ -1030,7 +1038,7 @@ solfa_quarter_width := 1.0;
 
 %%% Do head
 %
-%   Triangle with base parallel to staff lines.
+% Triangle with base parallel to staff lines.
 %
 
 def draw_do_head (expr width_factor, dir, thickness_factor) =
@@ -1047,17 +1055,18 @@ def draw_do_head (expr width_factor, dir, thickness_factor) =
 
        bottom_thick_factor := 2 * thickness_factor - 1;
        % no different thickness for left side if we want uniform thickness
-       left_thick_factor := if thickness_factor = 1 :
-                               1;
-                            else :
-                               0.7 * bottom_thick_factor;
-                            fi
+       if thickness_factor = 1:
+               left_thick_factor := 1;
+       else:
+               left_thick_factor := 0.7 * bottom_thick_factor;
+       fi
+
        bot y1 = -d;
        y1 = y2;
        lft x1 = 0;
        rt x2 = w;
        top y3 = h;
-       x3 =.5 [x1, x2];
+       x3 = .5 [x1, x2];
 
        left_dist = (unitvector (z3 - z1) rotated 90) * solfa_pen_radius;
        right_dist = (unitvector (z2 - z3) rotated 90) * solfa_pen_radius;
@@ -1068,18 +1077,21 @@ def draw_do_head (expr width_factor, dir, thickness_factor) =
        save point_a, point_b, point_c;
        pair point_a, point_b, point_c;
 
-       pa := (z1 - left_thick_factor * left_dist) --
-             (z3 - left_thick_factor * left_dist);
-       pb := (z1 + bottom_thick_factor * bottom_dist) --
-             (z2 + bottom_thick_factor * bottom_dist);
-       pc := (z2 - right_dist) -- (z3 - right_dist);
-
+       pa := (z1 - left_thick_factor * left_dist)
+             -- (z3 - left_thick_factor * left_dist);
+       pb := (z1 + bottom_thick_factor * bottom_dist)
+             -- (z2 + bottom_thick_factor * bottom_dist);
+       pc := (z2 - right_dist)
+             -- (z3 - right_dist);
 
        point_a := pa intersectionpoint pb;
        point_b := pb intersectionpoint pc;
        point_c := pc intersectionpoint pa;
 
-       p_in := point_a -- point_b -- point_c -- cycle;
+       p_in := point_a
+               -- point_b
+               -- point_c
+               -- cycle;
 
        p_out := bot z1
                 -- bot z2{right}
@@ -1138,7 +1150,6 @@ fet_beginchar ("Quart dohead", "u2do");
 fet_endchar;
 
 
-
 fet_beginchar ("Whole thin dohead", "s0doThin");
        draw_do_head (solfa_whole_width, 1, 1);
        fill p_out;
@@ -1172,21 +1183,23 @@ fet_beginchar ("Quart thin dohead", "u2doThin");
 fet_endchar;
 
 
-
 %
 % re - flat top, curved bottom:
-%               (0,h/2) {dir -90} .. (w/2,-h/2) .. {dir 90} (w,h/2) -- cycle;
+%
+%   (0,h/2) {dir -90}
+%   .. (w/2,-h/2)
+%   .. {dir 90} (w,h/2)
+%   -- cycle;
+%
 % (broader along the base and with more vertical sides for half and
 % whole notes)
 %
-% Note:  According to some shape-note singers, there should be no size
-%       differences for half and whole notes, contrary to
-%       the comment above.  Consequently, we have made them all the
-%       same width.
+% Note: According to some shape-note singers, there should be no size
+%       differences for half and whole notes, contrary to the comment above. 
+%       Consequently, we have made them all the same width.
 %
 % stem attachment: h/2
 %
-
 def draw_re_head (expr width_factor, dir, thickness_factor) =
        save p_in, p_out;
        path p_in, p_out;
@@ -1196,7 +1209,6 @@ def draw_re_head (expr width_factor, dir, thickness_factor) =
 
        pickup pencircle scaled solfa_pen_thick;
 
-
        save curve_start;
        curve_start = 0.7;
        lft x1 = 0;
@@ -1239,6 +1251,7 @@ def draw_re_head (expr width_factor, dir, thickness_factor) =
        fi;
 enddef;
 
+
 save re_weight;
 re_weight := 2;
 
@@ -1308,14 +1321,11 @@ fet_beginchar ("Quart thin rehead", "d2reThin");
 fet_endchar;
 
 
-
-
 %%%% mi head -- diamond shape
 %
-%  two versions, depending on whether the "strong" lines are on
-%  the nw & se or the ne & sw
+% two versions, depending on whether the `strong' lines are on the nw & se
+% or the ne & sw
 %
-
 def draw_mi_head (expr width_factor, thickness_factor, mirror) =
        save path_out, path_in;
        save ne_dist, se_dist, ne, se;
@@ -1355,12 +1365,14 @@ def draw_mi_head (expr width_factor, thickness_factor, mirror) =
        ne_dist = (ne rotated 90) * solfa_pen_radius;
        se_dist = (se rotated 90) * solfa_pen_radius;
 
-       path_a := (z1 + se_dist) -- (z2 + se_dist);
-       path_b := (z2 + (ne_dist * offset)) --
-                 (z3 + (ne_dist * offset));
-       path_c := (z3 - se_dist) -- (z4 - se_dist);
-       path_d := (z4 - (ne_dist * offset)) --
-                 (z1 - (ne_dist * offset));
+       path_a := (z1 + se_dist)
+                 -- (z2 + se_dist);
+       path_b := (z2 + (ne_dist * offset))
+                 -- (z3 + (ne_dist * offset));
+       path_c := (z3 - se_dist)
+                 -- (z4 - se_dist);
+       path_d := (z4 - (ne_dist * offset))
+                 -- (z1 - (ne_dist * offset));
 
        z5 = path_a intersectionpoint path_d;
        z7 = path_b intersectionpoint path_c;
@@ -1368,16 +1380,16 @@ def draw_mi_head (expr width_factor, thickness_factor, mirror) =
        labels (range 1 thru 8);
 
        inner_path := z5
-                  -- z6
-                  -- z7
-                  -- z8
-                  -- cycle;
+                     -- z6
+                     -- z7
+                     -- z8
+                     -- cycle;
 
-       path_in := if mirror:
-                     inner_path;
-                  else:
-                     inner_path reflectedabout (z2, z4);
-                  fi
+       if mirror:
+               path_in := inner_path;
+       else:
+               path_in := inner_path reflectedabout (z2, z4);
+       fi
 
        path_out := lft z1 {down}
                    .. (z1 - se_dist){se}
@@ -1394,6 +1406,7 @@ def draw_mi_head (expr width_factor, thickness_factor, mirror) =
                    .. cycle;
 enddef;
 
+
 save mi_weight, mi_width;
 mi_weight := 2;
 mi_width := 1.2;
@@ -1411,30 +1424,33 @@ fet_beginchar ("Half mihead", "s1mi");
        unfill path_in;
 fet_endchar;
 
+
 fet_beginchar ("Quart mihead", "s2mi");
        draw_mi_head (mi_width * solfa_quarter_width, mi_weight, false);
        fill path_out;
 fet_endchar;
 
+
 fet_beginchar ("Whole mirror mihead", "s0miMirror");
        draw_mi_head (mi_width * solfa_whole_width, mi_weight, true);
        fill path_out;
        unfill path_in;
 fet_endchar;
 
+
 fet_beginchar ("Half  mirror mihead", "s1miMirror");
        draw_mi_head (mi_width * solfa_quarter_width, mi_weight, true);
        fill path_out;
        unfill path_in;
 fet_endchar;
 
+
 fet_beginchar ("Quart mirror mihead", "s2miMirror");
        draw_mi_head (mi_width * solfa_quarter_width, mi_weight, true);
        fill path_out;
 fet_endchar;
 
 
-
 fet_beginchar ("Whole thin mihead", "s0miThin");
        draw_mi_head (mi_width * solfa_whole_width, 1, false);
        fill path_out;
@@ -1455,14 +1471,11 @@ fet_beginchar ("Quart thin mihead", "s2miThin");
 fet_endchar;
 
 
-
-%%%%  fa head
+%%%% fa head
 %
-%   Right triangle, hypotenuse from nw to se corner
-%   Stem attaches on vertical side in direction of
-%   horizontal side.
+% Right triangle, hypotenuse from nw to se corner.  Stem attaches on
+% vertical side in direction of horizontal side.
 %
-
 def draw_fa_head (expr width_factor, thickness_factor) =
        set_char_box (0, width_factor * solfa_base_notewidth#,
                      0.5 solfa_noteheight#, 0.5 solfa_noteheight#);
@@ -1494,16 +1507,17 @@ def draw_fa_head (expr width_factor, thickness_factor) =
        nw = unitvector (z1 - z3);
        nw_dist = (nw rotated 90) * solfa_pen_radius;
 
-       path_a := (z1 - (0,1) * offset * solfa_pen_radius) --
-                 (z2 - (0,1) * offset * solfa_pen_radius);
-       path_b := (z2 - (1,0) * solfa_pen_radius) --
-                 (z3 - (1,0) * solfa_pen_radius);
-       path_c := (z3 - nw_dist) -- (z1 - nw_dist);
+       path_a := (z1 - (0,1) * offset * solfa_pen_radius)
+                 -- (z2 - (0,1) * offset * solfa_pen_radius);
+       path_b := (z2 - (1,0) * solfa_pen_radius)
+                 -- (z3 - (1,0) * solfa_pen_radius);
+       path_c := (z3 - nw_dist)
+                 -- (z1 - nw_dist);
 
-       p_up_in := (path_a intersectionpoint path_b) --
-                  (path_b intersectionpoint path_c) --
-                  (path_c intersectionpoint path_a) --
-                  cycle;
+       p_up_in := (path_a intersectionpoint path_b)
+                  -- (path_b intersectionpoint path_c)
+                  -- (path_c intersectionpoint path_a)
+                  -- cycle;
 
        p_up_out := lft z1{down}
                    .. (z1 + nw_dist){-nw}
@@ -1607,12 +1621,11 @@ fet_endchar;
 
 
 %%%% sol head
-%%
-%%  Note -- sol head is the same shape as a standard music
-%%         head, and doesn't vary from style to style.
-%%         However, width is constant with duration, so we
-%%         can't just use the standard note font.
-
+%
+% Note: sol head is the same shape as a standard music head, and doesn't
+%       vary from style to style.  However, width is constant with duration,
+%       so we can't just use the standard note font.
+%
 def draw_sol_head (expr filled) =
        draw_outside_ellipse (1.53 - puff_up_factor / 3.0, 34, 0.66, 0.17);
        if not filled:
@@ -1636,12 +1649,10 @@ fet_beginchar ("Quart solhead", "s2sol");
 fet_endchar;
 
 
-
 %%%% la head
 %
 %   Rectangle head
 %
-
 def draw_la_head (expr width_factor, thickness_factor) =
        set_char_box (0, width_factor * solfa_base_notewidth#,
                      0.5 solfa_noteheight#, 0.5 solfa_noteheight#);
@@ -1683,6 +1694,7 @@ def draw_la_head (expr width_factor, thickness_factor) =
                 .. cycle;
 enddef;
 
+
 save la_weight;
 la_weight := 2;
 
@@ -1726,12 +1738,10 @@ fet_beginchar ("Quart lahead", "s2laThin");
 fet_endchar;
 
 
-
 %%%% ti head
 %
-%   "Snow-cone", V with rounded top.
+%   `Snow-cone', V with rounded top.
 %
-
 def draw_ti_head (expr width_factor, dir, thickness_factor) =
        set_char_box (0, width_factor * solfa_base_notewidth#,
                      0.5 solfa_noteheight#, 0.5 solfa_noteheight#);
@@ -1754,7 +1764,7 @@ def draw_ti_head (expr width_factor, dir, thickness_factor) =
        x3 = x1;
        top y3 = h;
        x5 = x1;
-       y5 = y1 +  offset * solfa_pen_radius;
+       y5 = y1 + offset * solfa_pen_radius;
 
        labels (range 1 thru 4);
 
@@ -1777,13 +1787,19 @@ def draw_ti_head (expr width_factor, dir, thickness_factor) =
 
        save path_a, path_b;
        path path_a, path_b;
-       path_a := z2 -- z5;
-       path_b := z5 -- z4;
+       path_a := z2
+                 -- z5;
+       path_b := z5
+                 -- z4;
 
        z6 = path_a intersectionpoint p_top_in;
        z7 = path_b intersectionpoint p_top_in;
 
-       p_in := z5 -- z6 .. bot z3 .. z7 -- cycle;
+       p_in := z5
+               -- z6
+               .. bot z3
+               .. z7
+               -- cycle;
 
        p_out := bot z1
                 .. (z1 + nw_dist)
@@ -1791,7 +1807,7 @@ def draw_ti_head (expr width_factor, dir, thickness_factor) =
                 .. lft z2
                 .. (z2 + nw * solfa_pen_radius){direction 0 of p_top}
                 & p_top
-                & {direction infinity of p_top}(z4 -sw * solfa_pen_radius)
+                & {direction infinity of p_top}(z4 - sw * solfa_pen_radius)
                 .. rt z4
                 .. (z4 + sw_dist)
                 -- (z1 + sw_dist)
@@ -1804,6 +1820,7 @@ def draw_ti_head (expr width_factor, dir, thickness_factor) =
        fi;
 enddef;
 
+
 save ti_weight;
 ti_weight := 2;
 
@@ -1875,16 +1892,16 @@ fet_endchar;
 
 %%%%%%   Funk shape note heads
 %
-%      Funk heads are narrower than Aiken and Sacred Harp,
-%      so we need a new width
-
+%  Funk heads are narrower than Aiken and Sacred Harp, so we need a new
+%  width.
+%
 funk_notehead_width := 0.75;
 
+
 %%%%%%   Funk do head
 %          Parabolic on one side, vertical line on other
 %          Has up and down shapes for *all* notes
 %
-
 def draw_Funk_do_head (expr width_factor, thickness_factor) =
        set_char_box (0, width_factor * solfa_base_notewidth#,
                      0.5 solfa_noteheight#, 0.5 solfa_noteheight#);
@@ -1906,7 +1923,7 @@ def draw_Funk_do_head (expr width_factor, thickness_factor) =
        y4 = y1 + offset * solfa_pen_radius;
 
        y5 = y2;
-       x5 = x2 +  solfa_pen_radius;
+       x5 = x2 + solfa_pen_radius;
 
        x6 = x4;
        y6 = y3 - offset * solfa_pen_radius;
@@ -1914,20 +1931,24 @@ def draw_Funk_do_head (expr width_factor, thickness_factor) =
        save p_up_in, p_up_out, p_down_in, p_down_out;
        path p_up_in, p_up_out, p_down_in, p_down_out;
 
-       p_down_in := z4{left} .. z5{up} .. z6{right} -- cycle;
+       p_down_in := z4{left}
+                    .. z5{up}
+                    .. z6{right}
+                    -- cycle;
 
        p_down_out := bot z1{left}
-                .. lft z2{up}
-                .. top z3{right}
-                .. rt z3{down}
-                -- rt z1{down}
-                .. cycle;
+                     .. lft z2{up}
+                     .. top z3{right}
+                     .. rt z3{down}
+                     -- rt z1{down}
+                     .. cycle;
 
        p_up_in := p_down_in rotated 180 shifted (w,0);
        p_up_out := p_down_out rotated 180 shifted (w,0);
 
 enddef;
 
+
 save funk_do_weight;
 funk_do_weight := 1.7;
 
@@ -1937,37 +1958,44 @@ fet_beginchar ("Whole up Funk dohead", "u0doFunk");
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Whole down Funk dohead", "d0doFunk");
        draw_Funk_do_head (funk_notehead_width, funk_do_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Half up Funk dohead", "u1doFunk");
        draw_Funk_do_head (funk_notehead_width, funk_do_weight);
        fill p_up_out;
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Half down Funk dohead", "d1doFunk");
        draw_Funk_do_head (funk_notehead_width, funk_do_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Quarter up Funk dohead", "u2doFunk");
        draw_Funk_do_head (funk_notehead_width, funk_do_weight);
        fill p_up_out;
 fet_endchar;
 
+
 fet_beginchar ("Quarter down Funk dohead", "d2doFunk");
        draw_Funk_do_head (funk_notehead_width, funk_do_weight);
        fill p_down_out;
 fet_endchar;
 
+
 %%%%%%  Funk re head
 %       Arrowhead shape.
 %       Has up and down shapes for *all* notes
+%
 def draw_Funk_re_head (expr width_factor, thickness_factor) =
        set_char_box (0, width_factor * solfa_base_notewidth#,
                      0.5 solfa_noteheight#, 0.5 solfa_noteheight#);
@@ -2008,8 +2036,10 @@ def draw_Funk_re_head (expr width_factor, thickness_factor) =
 
 
        path_d := z2 .. z3{down} .. z4;
-       arrow_a_perp = unitvector (direction 0 of path_d rotated 90) * solfa_pen_radius;
-       arrow_b_perp = unitvector (direction 1 of path_d rotated 90) * solfa_pen_radius;
+       arrow_a_perp = unitvector (direction 0 of path_d rotated 90)
+                      * solfa_pen_radius;
+       arrow_b_perp = unitvector (direction 1 of path_d rotated 90)
+                      * solfa_pen_radius;
 
        path_b := (z1 + se_perp * solfa_pen_radius)
                  -- z4 + se_perp * offset * solfa_pen_radius;
@@ -2026,7 +2056,11 @@ def draw_Funk_re_head (expr width_factor, thickness_factor) =
        save p_up_in, p_down_in, p_up_out, p_down_out;
        path p_up_in, p_down_in, p_up_out, p_down_out;
 
-       p_down_in := z5 -- z7 .. z6{down} .. z8 -- cycle;
+       p_down_in := z5
+                    -- z7
+                    .. z6{down}
+                    .. z8
+                    -- cycle;
 
        p_down_out := lft z1{up}
                      .. (z1 + ne_perp * solfa_pen_radius){ne}
@@ -2042,11 +2076,12 @@ def draw_Funk_re_head (expr width_factor, thickness_factor) =
                      -- z1 - se_perp * solfa_pen_radius
                      .. cycle;
 
-       p_up_in := p_down_in rotated 180 shifted (w,0);
-       p_up_out := p_down_out rotated 180 shifted (w,0);
+       p_up_in := p_down_in rotated 180 shifted (w, 0);
+       p_up_out := p_down_out rotated 180 shifted (w, 0);
 
 enddef;
 
+
 save funk_re_weight;
 funk_re_weight = 1.7;
 
@@ -2056,29 +2091,34 @@ fet_beginchar ("Whole up Funk rehead", "u0reFunk");
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Whole down Funk rehead", "d0reFunk");
        draw_Funk_re_head (funk_notehead_width, funk_re_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Half up Funk rehead", "u1reFunk");
        draw_Funk_re_head (funk_notehead_width, funk_re_weight);
        fill p_up_out;
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Half down Funk rehead", "d1reFunk");
        draw_Funk_re_head (funk_notehead_width, funk_re_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Quarter up Funk rehead", "u2reFunk");
        draw_Funk_re_head (funk_notehead_width, funk_re_weight);
        fill p_up_out;
 fet_endchar;
 
+
 fet_beginchar ("Quarter down Funk rehead", "d2reFunk");
        draw_Funk_re_head (funk_notehead_width, funk_re_weight);
        fill p_down_out;
@@ -2088,48 +2128,56 @@ fet_endchar;
 %%%%%%  Funk mi head
 %       Diamond shape
 %       Has up and down shapes for all hollow notes
-
+%
 save funk_mi_width, funk_mi_weight;
 funk_mi_width := 1.2;
 funk_mi_weight := 1.9;
 
 fet_beginchar ("Whole up Funk mihead", "u0miFunk");
-       draw_mi_head (funk_mi_width * funk_notehead_width, funk_mi_weight, false);
+       draw_mi_head (funk_mi_width * funk_notehead_width,
+                     funk_mi_weight, false);
        fill path_out;
        unfill path_in;
 fet_endchar;
 
+
 fet_beginchar ("Whole down Funk mihead", "d0miFunk");
-       draw_mi_head (funk_mi_width * funk_notehead_width, funk_mi_weight, true);
+       draw_mi_head (funk_mi_width * funk_notehead_width,
+                     funk_mi_weight, true);
        fill path_out;
        unfill path_in;
 fet_endchar;
 
+
 fet_beginchar ("Half up Funk mihead", "u1miFunk");
-       draw_mi_head (funk_mi_width * funk_notehead_width, funk_mi_weight, false);
+       draw_mi_head (funk_mi_width * funk_notehead_width,
+                     funk_mi_weight, false);
        fill path_out;
        unfill path_in;
 fet_endchar;
 
+
 fet_beginchar ("Half down Funk mihead", "d1miFunk");
-       draw_mi_head (funk_mi_width * funk_notehead_width, funk_mi_weight, true);
+       draw_mi_head (funk_mi_width * funk_notehead_width,
+                     funk_mi_weight, true);
        fill path_out;
        unfill path_in;
 fet_endchar;
 
+
 fet_beginchar ("Quarter Funk mihead", "s2miFunk");
-       draw_mi_head (funk_mi_width * funk_notehead_width, funk_mi_weight, false);
+       draw_mi_head (funk_mi_width * funk_notehead_width,
+                     funk_mi_weight, false);
        fill path_out;
 fet_endchar;
 
 
-
 %%%%%%  Funk fa
 %       Triangle shape
 %       Does it rotate for whole notes?
 %       Same as other shape note systems
 %       Need special notes because of special width
-
+%
 save funk_fa_weight;
 funk_fa_weight := 1.9;
 
@@ -2139,41 +2187,43 @@ fet_beginchar ("Whole up Funk fahead", "u0faFunk");
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Whole down Funk fahead", "d0faFunk");
        draw_fa_head (funk_notehead_width, funk_fa_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Half up Funk fahead", "u1faFunk");
        draw_fa_head (funk_notehead_width, funk_fa_weight);
        fill p_up_out;
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Half down Funk fahead", "d1faFunk");
        draw_fa_head (funk_notehead_width, funk_fa_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Quarter up Funk fahead", "u2faFunk");
        draw_fa_head (funk_notehead_width, funk_fa_weight);
        fill p_up_out;
 fet_endchar;
 
+
 fet_beginchar ("Quarter down Funk fahead", "d2faFunk");
        draw_fa_head (funk_notehead_width, funk_fa_weight);
        fill p_down_out;
 fet_endchar;
 
 
-
-
 %%%%%%  Funk sol head is the same as the others
 %       Need special character because of skinnier head
 %
-
 def draw_Funk_sol_head (expr filled) =
 begingroup
        save noteheight;
@@ -2186,6 +2236,7 @@ begingroup
 endgroup
 enddef;
 
+
 fet_beginchar ("Whole Funk solhead", "s0solFunk");
        draw_Funk_sol_head ( false);
 fet_endchar;
@@ -2201,13 +2252,11 @@ fet_beginchar ("Quarter Funk solhead", "s2solFunk");
 fet_endchar;
 
 
-
-
 %%%%%%  Funk la head
 %       Rectangle head
 %       Same as for other shape notes
 %       Smaller width requires special characters
-
+%
 save funk_la_weight;
 funk_la_weight := 1.9;
 
@@ -2231,12 +2280,10 @@ fet_beginchar ("Quart Funk lahead", "s2laFunk");
 fet_endchar;
 
 
-
 %%%%%%  Funk ti head
-%       "Sideways snow cone"
-%       Rotates for all notes
-
-
+%       `Sideways snow cone'.
+%       Rotates for all notes.
+%
 def draw_Funk_ti_head (expr width_factor, thickness_factor) =
        set_char_box (0, width_factor * solfa_base_notewidth#,
                      0.5 solfa_noteheight#, 0.5 solfa_noteheight#);
@@ -2249,10 +2296,10 @@ def draw_Funk_ti_head (expr width_factor, thickness_factor) =
        pickup pencircle scaled solfa_pen_thick;
 
        lft x1 = 0;
-        y1 = .5 [y2, y4];
+       y1 = .5 [y2, y4];
 
        x2 = cone_width [x1, x3];
-        top y2 = h;
+       top y2 = h;
 
        rt x3 = w;
        y3 = y1;
@@ -2271,8 +2318,10 @@ def draw_Funk_ti_head (expr width_factor, thickness_factor) =
 
        save path_a, path_b;
        path path_a, path_b;
-       path_a := z1 - nw_dist -- z2 - offset * nw_dist;
-       path_b := z1 - sw_dist -- z4 - offset * sw_dist;
+       path_a := z1 - nw_dist
+                 -- z2 - offset * nw_dist;
+       path_b := z1 - sw_dist
+                 -- z4 - offset * sw_dist;
 
        save path_right, path_right_in;
        path path_right, path_right_in;
@@ -2281,8 +2330,8 @@ def draw_Funk_ti_head (expr width_factor, thickness_factor) =
                      .. (z4 + se * solfa_pen_radius);
 
        path_right_in := (z2 - ne * solfa_pen_radius)
-                   .. lft z3{down}
-                   .. (z4 - se * solfa_pen_radius);
+                        .. lft z3{down}
+                        .. (z4 - se * solfa_pen_radius);
 
        z5 = path_a intersectionpoint path_b;
        z6 = path_a intersectionpoint path_right_in;
@@ -2291,24 +2340,29 @@ def draw_Funk_ti_head (expr width_factor, thickness_factor) =
        save p_up_in, p_down_in, p_up_out, p_down_out;
        path p_up_in, p_down_in, p_up_out, p_down_out;
 
-       p_down_in := z5 -- z6 .. lft z3 .. z7 -- cycle;
+       p_down_in := z5
+                    -- z6
+                    .. lft z3
+                    .. z7
+                    -- cycle;
 
        p_down_out := lft z1
-                .. (z1 + nw_dist)
-                -- (z2 + nw_dist)
-                .. top z2
-                .. (z2 + ne * solfa_pen_radius){direction 0 of path_right}
-                & path_right
-                & {direction infinity of path_right}(z4 + se * solfa_pen_radius)
-                .. bot z4
-                .. (z4 + sw_dist)
-                -- (z1 + sw_dist)
-                .. cycle;
+                     .. (z1 + nw_dist)
+                     -- (z2 + nw_dist)
+                     .. top z2
+                     .. (z2 + ne * solfa_pen_radius){direction 0 of path_right}
+                     & path_right
+                     & {direction infinity of path_right}(z4 + se * solfa_pen_radius)
+                     .. bot z4
+                     .. (z4 + sw_dist)
+                     -- (z1 + sw_dist)
+                     .. cycle;
 
-       p_up_in := p_down_in rotated 180 shifted (w,0);
-       p_up_out := p_down_out rotated 180 shifted (w,0);
+       p_up_in := p_down_in rotated 180 shifted (w, 0);
+       p_up_out := p_down_out rotated 180 shifted (w, 0);
 enddef;
 
+
 save funk_ti_weight;
 funk_ti_weight := 1.6;
 
@@ -2318,47 +2372,49 @@ fet_beginchar ("Whole up Funk tihead", "u0tiFunk");
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Whole down Funk tihead", "d0tiFunk");
        draw_Funk_ti_head (funk_notehead_width, funk_ti_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Half up Funk tihead", "u1tiFunk");
        draw_Funk_ti_head (funk_notehead_width, funk_ti_weight);
        fill p_up_out;
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Half down Funk tihead", "d1tiFunk");
        draw_Funk_ti_head (funk_notehead_width, funk_ti_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Quarter up Funk tihead", "u2tiFunk");
        draw_Funk_ti_head (funk_notehead_width, funk_ti_weight);
        fill p_up_out;
 fet_endchar;
 
+
 fet_beginchar ("Quarter down Funk tihead", "d2tiFunk");
        draw_Funk_ti_head (funk_notehead_width, funk_ti_weight);
        fill p_down_out;
 fet_endchar;
 
 
-
 %%%%%%   Walker shape note heads
 %
-%      Walker heads are narrow like Funk heads, so use
-%      funk_notehead_width
+% Walker heads are narrow like Funk heads, so use funk_notehead_width.
 %
 
 %%%%%%   Walker do head
 %
-%      Trapezoid, with largest side on stem side
+% Trapezoid, with largest side on stem side
 %
-
 def draw_Walker_do_head (expr width_factor, dir, thickness_factor) =
        set_char_box (0, width_factor * solfa_base_notewidth#,
                      0.5 solfa_noteheight#, 0.5 solfa_noteheight#);
@@ -2368,7 +2424,7 @@ def draw_Walker_do_head (expr width_factor, dir, thickness_factor) =
        save offset;
        offset := 2 * thickness_factor - 1;
 
-        % adjust width so stem can be centered
+       % adjust width so stem can be centered
        if .5w <> good.x .5w: change_width; fi
 
        save scaling;
@@ -2403,10 +2459,12 @@ def draw_Walker_do_head (expr width_factor, dir, thickness_factor) =
        save path_a, path_b, path_c, path_d;
        path path_a, path_b, path_c, path_d;
 
-       path_a := (z4 - left_perp) -- (z1 - left_perp);
+       path_a := (z4 - left_perp)
+                 -- (z1 - left_perp);
        path_b := (z1 - (0, offset*solfa_pen_radius))
                  -- (z2 - (0, offset*solfa_pen_radius));
-       path_c := (z2 - right_perp) -- (z3 - right_perp);
+       path_c := (z2 - right_perp)
+                 -- (z3 - right_perp);
        path_d := (z3 + (0, offset*solfa_pen_radius))
                  -- (z4 + (0, offset*solfa_pen_radius));
 
@@ -2432,13 +2490,13 @@ def draw_Walker_do_head (expr width_factor, dir, thickness_factor) =
        charwx := scaling# * (w/2 + solfa_pen_radius);
        charwy := scaling# * y2 ;
 
-       if dir=1:
+       if dir = 1:
                p_in := p_in rotated 180 shifted (w,0);
                p_out := p_out rotated 180 shifted (w,0);
        fi;
-
 enddef;
 
+
 save walker_do_weight;
 walker_do_weight := 1.5;
 
@@ -2448,36 +2506,37 @@ fet_beginchar ("Whole Walker dohead", "s0doWalker");
        unfill p_in;
 fet_endchar;
 
+
 fet_beginchar ("Half up Walker dohead", "u1doWalker");
        draw_Walker_do_head (funk_notehead_width, 1, walker_do_weight);
        fill p_out;
        unfill p_in;
 fet_endchar;
 
+
 fet_beginchar ("Half down Walker dohead", "d1doWalker");
        draw_Walker_do_head (funk_notehead_width, 0, walker_do_weight);
        fill p_out;
        unfill p_in;
 fet_endchar;
 
+
 fet_beginchar ("Quarter up Walker dohead", "u2doWalker");
        draw_Walker_do_head (funk_notehead_width, 1, walker_do_weight);
        fill p_out;
 fet_endchar;
 
+
 fet_beginchar ("Quarter down Walker dohead", "d2doWalker");
        draw_Walker_do_head (funk_notehead_width, 0, walker_do_weight);
        fill p_out;
 fet_endchar;
 
 
-
-
 %%%%%%   Walker re head
 %          Parabolic on one side, shallow parabola on other
 %          Has up and down shapes for *all* notes
 %
-
 def draw_Walker_re_head (expr width_factor, thickness_factor) =
        set_char_box (0, width_factor * solfa_base_notewidth#,
                      0.5 solfa_noteheight#, 0.5 solfa_noteheight#);
@@ -2530,12 +2589,11 @@ def draw_Walker_re_head (expr width_factor, thickness_factor) =
                  .. z4 {down}
                  ..(z1 - p_a_end_perp){p_a_end_dir};
 
-        save path_b, path_c;
+       save path_b, path_c;
        path path_b, path_c;
 
        path_b := z5 {left} .. z6{up};
-        path_c := z7 {left} .. z6{down};
-
+       path_c := z7 {left} .. z6{down};
 
        z9 = path_d intersectionpoint path_b;
        z10 = path_d intersectionpoint path_c;
@@ -2571,6 +2629,7 @@ def draw_Walker_re_head (expr width_factor, thickness_factor) =
        p_up_out := p_down_out rotated 180 shifted (w,0);
 enddef;
 
+
 save walker_re_weight;
 walker_re_weight := 1.5;
 
@@ -2580,23 +2639,27 @@ fet_beginchar ("Whole Walker rehead", "s0reWalker");
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Half up Walker rehead", "u1reWalker");
        draw_Walker_re_head (funk_notehead_width, walker_re_weight);
        fill p_up_out;
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Half down Walker rehead", "d1reWalker");
        draw_Walker_re_head (funk_notehead_width, walker_re_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Quarter up Walker rehead", "u2reWalker");
        draw_Walker_re_head (funk_notehead_width, walker_re_weight);
        fill p_up_out;
 fet_endchar;
 
+
 fet_beginchar ("Quarter down Walker rehead", "d2reWalker");
        draw_Walker_re_head (funk_notehead_width, walker_re_weight);
        fill p_down_out;
@@ -2606,37 +2669,42 @@ fet_endchar;
 %%%%%%  Walker mi head
 %       Diamond shape
 %       Symmetric for all hollow notes
-
+%
 save walker_mi_width, walker_mi_weight;
 walker_mi_width := 1.2;
 walker_mi_weight := 1.5;
 
 fet_beginchar ("Whole Walker mihead", "s0miWalker");
-       draw_mi_head (walker_mi_width * funk_notehead_width, walker_mi_weight, true);
+       draw_mi_head (walker_mi_width * funk_notehead_width,
+                     walker_mi_weight, true);
        fill path_out;
        unfill path_in;
 fet_endchar;
 
+
 fet_beginchar ("Half Walker mihead", "s1miWalker");
-       draw_mi_head (walker_mi_width * funk_notehead_width, walker_mi_weight, true);
+       draw_mi_head (walker_mi_width * funk_notehead_width,
+                     walker_mi_weight, true);
        fill path_out;
        unfill path_in;
 fet_endchar;
 
+
 fet_beginchar ("Quarter Walker mihead", "s2miWalker");
-       draw_mi_head (walker_mi_width * funk_notehead_width, walker_mi_weight, true);
+       draw_mi_head (walker_mi_width * funk_notehead_width,
+                     walker_mi_weight, true);
        fill path_out;
 fet_endchar;
 
 
-
 %%%%%%  Walker fa
 %       Triangle shape
 %       Does not rotate for whole notes
 %       Whole rotation is different from Funk, so special notes
+
 %%%%%%  Funk sol head is the same as the others
 %       Need special character because of skinnier head
-
+%
 save walker_fa_weight;
 walker_fa_weight := 1.5;
 
@@ -2646,40 +2714,41 @@ fet_beginchar ("Whole Walker fahead", "s0faWalker");
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Half up Walker fahead", "u1faWalker");
        draw_fa_head (funk_notehead_width, walker_fa_weight);
        fill p_up_out;
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Half down Walker fahead", "d1faWalker");
        draw_fa_head (funk_notehead_width, walker_fa_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Quarter up Walker fahead", "u2faWalker");
        draw_fa_head (funk_notehead_width, walker_fa_weight);
        fill p_up_out;
 fet_endchar;
 
+
 fet_beginchar ("Quarter down Walker fahead", "d2faWalker");
        draw_fa_head (funk_notehead_width, walker_fa_weight);
        fill p_down_out;
 fet_endchar;
 
 
-
 %%%%%%  Walker sol
 %       Same as Funk, no special notes
 %
 
-
-
 %%%%%%  Walker la head
 %       Rectcangle head
 %       Lighter weight requires separate notes
-
+%
 save walker_la_weight;
 walker_la_weight := 1.5;
 
@@ -2703,12 +2772,10 @@ fet_beginchar ("Quart Funk lahead", "s2laWalker");
 fet_endchar;
 
 
-
 %%%%%%  Walker ti head
 %       Triangular arrowhead
 %       Rotates for all but whole notes
-
-
+%
 def draw_Walker_ti_head (expr width_factor, thickness_factor) =
        set_char_box (0, width_factor * solfa_base_notewidth#,
                      0.5 solfa_noteheight#, 0.5 solfa_noteheight#);
@@ -2719,10 +2786,10 @@ def draw_Walker_ti_head (expr width_factor, thickness_factor) =
        pickup pencircle scaled solfa_pen_thick;
 
        lft x1 = 0;
-        y1 = .5 [y2, y3];
+       y1 = .5 [y2, y3];
 
        rt x2 = w;
-        top y2 = h;
+       top y2 = h;
 
        x3 = x2;
        bot y3 = -d;
@@ -2742,9 +2809,12 @@ def draw_Walker_ti_head (expr width_factor, thickness_factor) =
 
        save path_a, path_b, path_c;
        path path_a, path_b, path_c;
-       path_a := z2 - nw_dist * offset -- z1 - nw_dist * offset;
-       path_b := z3 - sw_dist * offset -- z1 - sw_dist * offset;
-       path_c := z2 + left * solfa_pen_radius -- z3 + left * solfa_pen_radius;
+       path_a := z2 - nw_dist * offset
+                 -- z1 - nw_dist * offset;
+       path_b := z3 - sw_dist * offset
+                 -- z1 - sw_dist * offset;
+       path_c := z2 + left * solfa_pen_radius
+                 -- z3 + left * solfa_pen_radius;
 
        z4 = path_a intersectionpoint path_b;
        z5 = path_a intersectionpoint path_c;
@@ -2753,23 +2823,27 @@ def draw_Walker_ti_head (expr width_factor, thickness_factor) =
        save p_up_in, p_down_in, p_up_out, p_down_out;
        path p_up_in, p_down_in, p_up_out, p_down_out;
 
-       p_down_in := z4 -- z5 -- z6 -- cycle;
+       p_down_in := z4
+                    -- z5
+                    -- z6
+                    -- cycle;
 
        p_down_out := lft z1{up}
-                .. (z1 + nw_dist){ne}
-                -- (z2 + nw_dist){ne}
-                .. top z2{right}
-                .. rt z2 {down}
-                -- rt z3 {down}
-                .. bot z3 {left}
-                .. (z3 + sw_dist){- se}
-                .. (z1 + sw_dist){- se}
-                .. cycle;
+                     .. (z1 + nw_dist){ne}
+                     -- (z2 + nw_dist){ne}
+                     .. top z2{right}
+                     .. rt z2 {down}
+                     -- rt z3 {down}
+                     .. bot z3 {left}
+                     .. (z3 + sw_dist){- se}
+                     .. (z1 + sw_dist){- se}
+                     .. cycle;
 
-       p_up_in := p_down_in rotated 180 shifted (w,0);
-       p_up_out := p_down_out rotated 180 shifted (w,0);
+       p_up_in := p_down_in rotated 180 shifted (w, 0);
+       p_up_out := p_down_out rotated 180 shifted (w, 0);
 enddef;
 
+
 save walker_ti_weight;
 walker_ti_weight := 1.4;
 
@@ -2779,33 +2853,35 @@ fet_beginchar ("Whole Walker tihead", "s0tiWalker");
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Half up Walker tihead", "u1tiWalker");
        draw_Walker_ti_head (funk_notehead_width, walker_ti_weight);
        fill p_up_out;
        unfill p_up_in;
 fet_endchar;
 
+
 fet_beginchar ("Half down Walker tihead", "d1tiWalker");
        draw_Walker_ti_head (funk_notehead_width, walker_ti_weight);
        fill p_down_out;
        unfill p_down_in;
 fet_endchar;
 
+
 fet_beginchar ("Quarter up Walker tihead", "u2tiWalker");
        draw_Walker_ti_head (funk_notehead_width, walker_ti_weight);
        fill p_up_out;
 fet_endchar;
 
+
 fet_beginchar ("Quarter down Walker tihead", "d2tiWalker");
        draw_Walker_ti_head (funk_notehead_width, walker_ti_weight);
        fill p_down_out;
 fet_endchar;
 
-
 fet_endgroup ("noteheads");
 
 
-
 %
 % we derive black_notehead_width# from the quarter head,
 % so we have to define black_notehead_width (pixel qty)
index 6d921cb74606fcfae725df6c361abe685f096060..8496fd7c650977b03780e952b1b2e694d7e97384 100644 (file)
@@ -1151,27 +1151,29 @@ fet_beginchar ("Segno", "segno");
        penlabels (range 1 thru 8);
 fet_endchar;
 
+
 fet_beginchar ("Varied Segno", "varsegno");
        save ht, wd, loopdist, loopangle;
        save thin, med, thick;
-       save bulbradius;
+       save bulbradius, center;
+       pair center;
 
        ht# = 8 staff_space#;
        wd# = 2.5 staff_space#;
 
        set_char_box (wd# / 2, wd# / 2, ht# / 2, ht# / 2);
-       %set_char_box (0, 0, ht# / 2, ht# / 2);
+       % set_char_box (0, 0, ht# / 2, ht# / 2);
 
        loopdist = 4/3 staff_space;
        loopangle = 35;
 
        thick = 1/2 staff_space;
-       med   = 1/4 staff_space;
+       med = 1/4 staff_space;
        thin = 1/10 staff_space;
 
        x1 = staff_space;
        y1 = 13/4 staff_space;
-       penpos1 (med,  210);
+       penpos1 (med, 210);
 
        z2l = (0, 4 staff_space);
        penpos2 (med, 270 - loopangle);
@@ -1180,20 +1182,26 @@ fet_beginchar ("Varied Segno", "varsegno");
        y3 = y1 + 1/4 staff_space;
        penpos3 (med, 270 + loopangle);
 
-        pair center;
         center = (0, 2 staff_space);
-       z4 = (3/4 staff_space, 2 staff_space) rotatedabout (center, 180 - loopangle);
-       z5 = 2[z4,center];
-       x9  = x4; y9  = y4 - 2 loopdist;
-       x10 = x5; y10 = y5 - 2 loopdist;
-       penpos4  (thick, 90 - loopangle);
-       penpos5  (thick, 90 - loopangle);
-       penpos9  (thick, 90 - loopangle);
+       z4 = (3/4 staff_space, 2 staff_space)
+            rotatedabout (center, 180 - loopangle);
+       z5 = 2[z4, center];
+       x9 = x4;
+       y9 = y4 - 2 loopdist;
+       x10 = x5;
+       y10 = y5 - 2 loopdist;
+
+       penpos4 (thick, 90 - loopangle);
+       penpos5 (thick, 90 - loopangle);
+       penpos9 (thick, 90 - loopangle);
        penpos10 (thick, 90 - loopangle);
 
-       z6 = (4/3 staff_space, 4/3 staff_space) rotatedabout (2/3 center, -loopangle);
-       x11 = x6; y11 = y6 - 2 loopdist;
-       penpos6  (thin, -loopangle);
+       z6 = (4/3 staff_space, 4/3 staff_space)
+            rotatedabout (2/3 center, -loopangle);
+       x11 = x6;
+       y11 = y6 - 2 loopdist;
+
+       penpos6 (thin, -loopangle);
        penpos11 (thin, -loopangle);
 
        z7 = 1/3 center;
@@ -1205,31 +1213,31 @@ fet_beginchar ("Varied Segno", "varsegno");
        z12 = -center;
        penpos12 (thick, 270 - loopangle);
 
-       z1' = 4/3[z1l,z1r];
-       bulbradius = length ( z1l - z1');
+       z1' = 4/3[z1l, z1r];
+       bulbradius = length (z1l - z1');
        pickup pencircle scaled 2 bulbradius;
+
        drawdot z1';
 
        penstroke z1e
-              .. z2e
-              .. z3e
-              .. z4e{dir (-loopangle)}
-              .. z5e{dir (-loopangle)}
-              .. z6e
-              .. z7e
-              .. z8e
-              .. z9e{dir (-loopangle)}
-              .. z10e{dir (-loopangle)}
-              .. z11e
-              .. {dir (180 - loopangle)}z12e;
+                 .. z2e
+                 .. z3e
+                 .. z4e{dir (-loopangle)}
+                 .. z5e{dir (-loopangle)}
+                 .. z6e
+                 .. z7e
+                 .. z8e
+                 .. z9e{dir (-loopangle)}
+                 .. z10e{dir (-loopangle)}
+                 .. z11e
+                 .. {dir (180 - loopangle)}z12e;
        addto currentpicture also currentpicture scaled -1;
 
        penlabels (1, 1', 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
-       %draw_staff (-2, 2, 0);
+       % draw_staff (-2, 2, 0);
 fet_endchar;
 
 
-
 fet_beginchar ("Coda", "coda");
        save stickout, thin, thick, codawidth, codaheight;
 
index 1faa57639bda653ec807c9844232b672c9bd762a..677e88a1f70fe42a78df7419b8f4f512689c3693 100644 (file)
@@ -106,6 +106,7 @@ Latex_output = {
 
     OUTPUT: r'''{%%
 \parindent 0pt
+\noindent
 \ifx\preLilyPondExample \undefined
 \else
   \expandafter\preLilyPondExample
index 992d371617863f5c1e5fde31ff1c66769e455318..cfe5c6306610efcdffd7e32141469c23817877f9 100644 (file)
@@ -3058,8 +3058,20 @@ def conv(str):
     return str
 
 @rule ((2, 13, 36),
-    _ ("Add fretboard-table argument to savePredefinedFretboard."))
+    _ ("Rename vertical spacing variables.\n\
+Add fretboard-table argument to savePredefinedFretboard."))
 def conv(str):
+    str = re.sub ('after-title-spacing',           'markup-system-spacing', str)
+    str = re.sub ('before-title-spacing',          'score-markup-spacing',  str)
+    str = re.sub ('between-scores-system-spacing', 'score-system-spacing',  str)
+
+    # also converts page-breaking-between-system-spacing:
+    str = re.sub ('between-system-spacing',        'system-system-spacing', str)
+
+    str = re.sub ('between-title-spacing',         'markup-markup-spacing', str)
+    str = re.sub ('bottom-system-spacing',         'last-bottom-spacing',   str)
+    str = re.sub ('top-title-spacing',             'top-markup-spacing',    str)
+
     str = re.sub (r"storePredefinedDiagram",
                   r"storePredefinedDiagram #default-fret-table",
                   str);
index 6be4d6450d1ba063ea8e18a33d75be3529ecbd5f..409d0134374cac61535de4f15057bfabdd8f753b 100644 (file)
@@ -96,7 +96,7 @@
 (define (annotate-top-space first-system layout header-stencil stencil)
   (let* ((top-margin (ly:output-def-lookup layout 'top-margin))
         (sym (if (paper-system-title? first-system)
-                 'top-title-spacing
+                 'top-markup-spacing
                  'top-system-spacing))
         (spacing-spec (ly:output-def-lookup layout sym))
         (X-offset (ly:prob-property first-system 'X-offset 5))
index aa0f855672736b990af76ad61880ca4a4ae9ff4d..4ddcd892ae2f8f4d2f3a5f550bd4616a9aceb881 100644 (file)
     (let* ((spacing-spec (cond ((and next-system
                                     (paper-system-title? system)
                                     (paper-system-title? next-system))
-                               (ly:output-def-lookup layout 'between-title-spacing))
+                               (ly:output-def-lookup layout 'markup-markup-spacing))
                               ((paper-system-title? system)
-                               (ly:output-def-lookup layout 'after-title-spacing))
+                               (ly:output-def-lookup layout 'markup-system-spacing))
                               ((and next-system
                                     (paper-system-title? next-system))
-                               (ly:output-def-lookup layout 'before-title-spacing))
+                               (ly:output-def-lookup layout 'score-markup-spacing))
                               (else
-                               (ly:output-def-lookup layout 'between-system-spacing))))
+                               (ly:output-def-lookup layout 'system-system-spacing))))
           (last-staff-Y (car (paper-system-staff-extents system))))
 
       (set! annotations