%% Generated by lilypond-book
%% Options: [exampleindent=10.16\mm,indent=0\mm,line-width=160\mm,paper-height=845.047\pt,paper-width=597.508\pt,papersize='(cons (* 597.508 pt) (* 845.047 pt)),quote]
\include "lilypond-book-preamble.ly"


% ****************************************************************
% Start cut-&-pastable-section
% ****************************************************************

#(ly:set-option 'eps-box-padding 3.000000)



\paper {
  #(set-paper-size '(cons (* 597.508 pt) (* 845.047 pt)))
  indent = 0\mm
  line-width = 160\mm
  % offset the left padding, also add 1mm as lilypond creates cropped
  % images with a little space on the right
  line-width = #(- line-width (* mm  3.000000) (* mm 1))
  line-width = 160\mm - 2.0 * 10.16\mm
  % offset the left padding, also add 1mm as lilypond creates cropped
  % images with a little space on the right
  line-width = #(- line-width (* mm  3.000000) (* mm 1))
}

\layout {
  
}




% ****************************************************************
% ly snippet:
% ****************************************************************
\sourcefilename "snippets/positioning-grace-notes-with-floating-space.ly"
\sourcefileline 0
%% DO NOT EDIT this file manually; it was automatically
%% generated from the LilyPond Wiki
%% (https://wiki.lilypond.community).
%%
%% Make any changes in the Wiki itself, or in
%% `Documentation/snippets/new/`, then run
%% `scripts/auxiliar/makelsr.pl`.
%%
%% This file is in the public domain.

\version "2.24.0"

\header {
%% Translation of GIT committish: a8a85e19654e46d725563e6deba44083ef137a2c
  texidocja = "
@code{strict-grace-spacing} プロパティをセットすることで、@c
装飾音符を列として '浮いた' 状態にすることができます。つまり、装飾音符では@c
ない音符のスペーシングと独立させることができます: まず、通常の音符が@c
スペーシングされ、その後に装飾音符が左側に配置されます。
"
  doctitleja = "装飾音符を浮いたスペースに配置する"

%% Translation of GIT committish: 2f3474d9af596d677ed5b7ce720ae4d0954a6b51
  texidocit = "
Se si imposta la proprietà @code{'strict-grace-spacing}, le colonne musicali
degli abbellimenti 'fluttuano', ovvero si scollegano dalle note normali:
prima vengono spaziate le note normali, poi le colonne musicali degli
abbellimenti vengono messe a sinistra delle colonne delle note principali.

"
  doctitleit = "Posizionare gli abbellimenti con dello spazio fluttuante"

%% Translation of GIT committish: 1abe87de51b9b00a391da1be4cf4b5ebe4021ca9
  texidocfr = "
Lorsque la propriété @code{strict-grace-spacing} est activée,
l'espacement des notes d'ornement se fera de manière « élastique ».
Autrement dit, elles seront décollées de leur note de rattachement :
LilyPond commence par espacer les notes normales, puis les ornements
sont placés à la gauche de leur note de rattachement.

Cependant, en raison du
@uref{https://gitlab.com/lilypond/lilypond/-/issues/6876, ticket 6876},
les altérations accidentelles sont ignorées lorsque cette propriété est
activée. Le code ci-dessous propose une solution de contournement à ce
problème.

Autre effet indésirable de cette propriété, LilyPond ne vérifie pas
qu'il y a suffisamment d'espace pour les notes d'ornement (ceci fait
l'objet du @uref{https://gitlab.com/lilypond/lilypond/-/issues/2630,
ticket 2630}). Il faut donc s'assurer d'avoir suffisamment d'espace
disponible en recourant conjointement @code{\\newSpacingSection} et une
valeur appropriée pour le @code{base-shortest-duration} de l'objet
graphique @code{SpacingSpanner}.
"

  doctitlefr = "Positionnement des notes d'ornement avec espace flottant"

%% Translation of GIT committish: 35d4cc1b78c4105643ca5fdcb44cb717578d6d4a
  texidoces = "
Al establecer la propiedad @code{strict-grace-spacing} hacemos que
las columnas musicales para las notas de adorno sean
@q{flotantes}, es decir, desacopladas de las notas que no son de
adorno: primero se aplica el espaciado de las notas normales, y
luego se ponen las columnas musicales de las notas de adorno a la
izquierda de las columnas musicales de las notas principales.

Sin embargo, a causa del
@uref{https://gitlab.com/lilypond/lilypond/-/issues/6876,bug
número 6876}, las alteraciones accidentales se ignoran si esta
propiedad está establecida.  Este fragmento de código ofrece una
solución para este problema.

Otro desafortunado efecto colateral de esta propiedad es que
LilyPond no comprueba si hay espacio horizontal suficiente para
las notas de adorno (este problema recibe seguimiento como
@uref{https://gitlab.com/lilypond/lilypond/-/issues/2630,bug
número 2630}).  Tenemos que asegurarnos de que ha espacio
suficiente, por ejemplo, por medio del uso de
@code{\\newSpacingSection} junto con un valor adecuado para la
duración @code{base-shortest-duration} del objeto gráfico
@code{SpacingSpanner}.

"
  doctitlees = "Posicionamiento de las notas de adorno con espacio flotante"

%% Translation of GIT committish: 0a868be38a775ecb1ef935b079000cebbc64de40
  texidocde = "
Wenn man die Eigenschaft @code{'strict-grace-spacing} aktiviert,
werden die Verzierungsnoten \"fließend\" gemacht, d.h. sie sind
von den normalen Noten los gekoppelt: Zuerst werden die normalen
Noten platziert, dann erst die Verzierungen links von der
Hauptnote gesetzt.

"
  doctitlede = "Positionierung von Verzierungen mit verschiebbarem Platz"



%% Translation of GIT committish: 8ffecf6be17c6ec2ff87cf31873121a8cce29b09
  texidocca = "
En establir la propietat @code{'strict-grace-spacing} fem que les
columnes musicals per a les notes d'adorn siguin @q{flotants}, és a
dir, desacoblades de les notes que no són d'adorn: primer s'aplica
l'espaiat de les notes normals, i després es posen les columnes
musicals de les notes d'adorn a l'esquerra de les columnes musicals de
les notes principals.

"
  doctitleca = "Posicionament de les notes d'adorn amb espai flotant"

  categories = "Rhythms, Scheme, Workaround"

  texidoc = "
Setting the property @code{strict-grace-spacing} makes the musical
columns for grace notes @q{floating}, i.e., decoupled from the non-grace
notes: first the normal notes are spaced, then the (musical columns of
the) graces are put left of the musical columns for the main notes.

Due to @uref{https://gitlab.com/lilypond/lilypond/-/issues/6876,Issue
#6876}, however, accidentals are ignored if this property is set. This
snippet gives a workaround to circumvent the problem.

Another unfortunate side effect of this property is that LilyPond does
not check whether there is enough horizontal space for grace notes
(this is tracked as
@uref{https://gitlab.com/lilypond/lilypond/-/issues/2630,Issue #2630}).
You have to make sure that enough space is available, for example, by
using @code{\\newSpacingSection} together with a proper value for the
@code{base-shortest-duration} of the @code{SpacingSpanner} grob.
"

  doctitle = "Positioning grace notes with floating space"
} % begin verbatim


shiftedGrace =
#(define-music-function (offset music) (number? ly:music?)
   #{
     \override NoteHead.X-offset = #(- offset 0.85)
     \override Stem.X-offset = #offset
     \grace { $music }
     \revert NoteHead.X-offset
     \revert Stem.X-offset
   #})

\relative c'' <<
  { g4 \shiftedGrace #-1.3 a32 \shiftedGrace #-0.5 { bes c d } es4 }
  { f,32 e d c f e d c f4 }
>>

\layout {
  \context {
    \Score
    \override SpacingSpanner.strict-grace-spacing = ##t
  }
}



% ****************************************************************
% end ly snippet
% ****************************************************************
