-%% Do not edit this file; it is automatically
+%% DO NOT EDIT this file manually; it is automatically
%% generated from LSR http://lsr.dsi.unimi.it
+%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
+%% and then run scripts/auxiliar/makelsr.py
+%%
%% This file is in the public domain.
-\version "2.13.10"
+\version "2.14.2"
\header {
- lsrtags = "expressive-marks, tweaks-and-overrides"
+ lsrtags = "expressive-marks, tweaks-and-overrides, correction-wanted, version-specific"
+
+%% Translation of GIT committish: 57f9346bb030f49336a858fcbf1519366fe56454
+ texidocfr = "
+Certaines indication de nuance requièrent un complément textuel, comme
+« sempre pp ». Dans la mesure où les nuances sont habituellement
+centrées sous la note, le @emph{pp} se trouvera repoussé loin après la
+note à laquelle il s'applique.
+
+Différentes approches permettent de correctement aligner horizontalement
+ce « sempre pp » :
+
+-- Un simple @code{\\once \\override DynamicText #'X-offset = #-9.2}
+ avant la note considérée de telle sorte que la nuance soit décalée
+ manuellement à la bonne place. Inconvénient : il faut le faire
+ manuellement à chaque fois qu'intervient ce @emph{markup}.
+
+-- L'intégration d'un rembourrage (@code{#:hspace 7.1}) à la définition
+ de cette nuance personnalisée afin qu'une fois centrée par lilypond
+ elle soit correctement alignée. Inconvénient : le rembourrage
+ occupera exactement cet espace et ne permettra à aucun autre
+ @emph{markup} ou nuance d'apparaître à cet endroit.
+
+-- L'application d'un décalage au script de nuance
+ @code{\\once \\override @dots{} #'X-offset = @dots{}}.
+ Inconvénient : là aussi il faut le faire à chaque fois.
+
+-- L'attribution arbitraire d'une dimension à 0 du texte additionnel à
+ l'aide d'un @code{#:with-dimensions '(0 . 0) '(0 . 0)}.
+ Inconvénient : lilypond considère que « sempre » n'occupe pas
+ d'espace, et donc pourra mettre à cet endroit d'autres éléments, ce
+ qui pourrait générer des collisions qui ne seront pas détectées par
+ les routines @emph{ad hoc}. D'autre part, il semble persister un
+ espacement, ce qui laisse l'impression d'un alignement différent en
+ l'absence de texte additionnel.
+
+-- L'ajout, explicite, du décalage directement dans la fonction Scheme
+ du script de nuance.
+
+-- La définition d'un alignement explicite au sein du script de nuance.
+ Ceci ne sera suivi d'effet, par défaut, qu'en jouant sur
+ @code{X-offset}. Inconvénient : il faut définir
+ @code{DynamicText #'X-offset}, ce qui s'appliquera à toutes les
+ nuances textuelles. Par ailleurs, l'alignement sera réalisé sur le
+ bord droit du texte additionnel, non sur le milieu de @emph{pp}.
+
+"
+ doctitlefr = "Alignement de nuances personnalisées comme \"sempre pp\" \"più f\" \"subito p\""
texidoc = "
Some dynamic expressions involve additional text, like @qq{sempre pp}.
doctitle = "Horizontally aligning custom dynamics (e.g. \"sempre pp\" \"piu f\" \"subito p\")"
} % begin verbatim
+
\header { title = "Horizontally aligning custom dynamics" }
\paper { ragged-right = ##f }
semppK =
#(make-dynamic-script
(markup #:line
- (#:normal-text
- #:italic "sempre"
- #:dynamic "pp")))
+ (#:normal-text
+ #:italic "sempre"
+ #:dynamic "pp")))
% Solution 3: Padding the dynamic script so the center-alignment
% puts it at the correct position
semppT =
#(make-dynamic-script
(markup #:line
- (#:normal-text
- #:italic "sempre"
- #:dynamic "pp"
- #:hspace 7.1)))
+ (#:normal-text
+ #:italic "sempre"
+ #:dynamic "pp"
+ #:hspace 7.1)))
% Solution 4: Dynamic, setting the dimensions of the additional text to 0
% Drawback: To lilypond "sempre" has no extent, so it might put
% same alignment as without the additional text
semppM =
#(make-dynamic-script
- (markup #:line (#:with-dimensions '(0 . 0) '(0 . 0)
- #:right-align #:normal-text #:italic "sempre" #:dynamic "pp")))
+ (markup #:line
+ (#:with-dimensions '(0 . 0) '(0 . 0)
+ #:right-align
+ #:normal-text
+ #:italic "sempre"
+ #:dynamic "pp")))
% Solution 5: Dynamic with explicit shifting inside the scheme function
semppG =
#(make-dynamic-script
- (markup
- #:hspace 0 #:translate '(-18.85 . 0)
- #:line( #:normal-text #:italic "sempre" #:dynamic "pp")))
-
-% Solution 6: Dynamic with explicit alignment. This has only effect, if one sets X-offset!
+ (markup #:hspace 0
+ #:translate '(-18.85 . 0)
+ #:line (#:normal-text
+ #:italic "sempre"
+ #:dynamic "pp")))
+
+% Solution 6: Dynamic with explicit alignment. This has only effect
+% if one sets X-offset!
% Drawback: One needs to set DynamicText #'X-offset!
-% Drawback: Aligned at the right edge of the additional text, not at the center of pp
+% Drawback: Aligned at the right edge of the additional text,
+% not at the center of pp
semppMII =
-#(make-dynamic-script (markup #:line(#:right-align
- #:normal-text #:italic "sempre" #:dynamic "pp")))
+#(make-dynamic-script
+ (markup #:line (#:right-align
+ #:normal-text
+ #:italic "sempre"
+ #:dynamic "pp")))
\context StaffGroup <<
\context Staff = "s" <<
- \set Staff.instrumentName = "Normal"
+ \set Staff.instrumentName = #"Normal"
\relative c'' {
\key es \major
c4\pp c\p c c | c\ff c c\pp c
}
>>
>>
+