[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.4 Espaiat vertical

@translationof Vertical spacing

L’espaiat vertical es controla amb tres factors: la quantitat d’espai disponible (és a dir, la mida del paper i els marges), la separació entre els sistemes, i la separació entre els pentagrames dins d’un sistema.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.4.1 Espaiat vertical flexible dins dels sistemes

@translationof Flexible vertical spacing within systems

Tres mecanismes diferents controlen l’espaiat vertical flexible dins dels sistemes, un per cada una de les categories següents:

L’alçada de cada sistema es determina en dues fases. Primer, tots els pentagrames es disposen segons la quantitat d’espai buit disponible. Després, les línies que no són pautes es distribueixen entre les pautes.

Observeu que els mecanismes d’espaiat estudiats en aquesta secció sols controlen l’espaiat vertical de les pautes i les línies que no són pautes dins dels sistemes individuals. L’espaiat vertical entre diferents sistemes, partitures, marcatges i marges es controla mitjançant variables de \paper que s’estudien a Variables flexibles d’espaiat vertical de \paper.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

Propietats d’espaiat dins dels sistemes

@translationof Within-system spacing properties

Els mecanismes d’espaiat vertical dins del sistema es controlen amb dos conjunts de propietats de grob. El primer conjunt està associat amb el grob VerticalAxisGroup, que es crea per part de totes les pautes i línies que no són pautes. El segon conjunt està associat amb el grob StaffGrouper, que pot crear-se per part dels grups de pentagrames, però sol si se’l crida explícitament. Aquestes propietats es descriuen individualment al final de la secció actual.

El noms d’aquestes propietats (excepte per a staff-affinity) segueixen el format element1-element2-spacing, on element1 i element2 són els elements que s’espaiaran. Observeu que element2 no està necessàriamen per sota de element1; por exemple, nonstaff-relatedstaff-spacing mesura cap a munt a partir de la línia de tipus no-pauta si staff-affinity és UP.

Cada distància es mesura entre els punts de referència dels dos elements. El punto de referència per a un pentagrama i un altre tipus de pauta és el centre vertical del seu StaffSymbol (és a dir, la línia central si line-count és un nombre imparell; l’espai central si line-count és parell). Els punts de referència per a les línies individuals que no són pautes apareixen a la taula següent:

Línia que no és una pautaPunt de referència
ChordNameslínia de base
NoteNamesliniaa de base
Lyricslínia de base
Dynamicsla meitat de l’alçada de la ‘m’
FiguredBasspunt més alt
FretBoardslínia superior

A la imatge següent, les línies horitzontals indiquen les posicions d’aquests punts de referència:

[image of music]

Cada una de les propietats de grob de l’espaiat vertical (excepte staff-affinity) usa la mateixa estructura de llita-A que les variables d’espaiat del bloc \paper que s’han estudiat a Variables flexibles d’espaiat vertical de \paper. A Modificació de les llistes-A s’estudien mètodes específics per a la modificació de les llistes-A. Les propietats dels grobs s’han d’ajustar amb un \override dins d’un bloc \score o \layout, y no dins d’un bloc \paper.

L’exemple que segueix mostra les dues maneres de modificar aquestes llistes-A. La primera declaració actualitza un parell clau-valor de forma individual, i la segona redefineix la propietat completament:

 
\new Staff \with {
  \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
} { … }

\new Staff \with {
  \override VerticalAxisGroup.default-staff-staff-spacing =
    #'((basic-distance . 10)
       (minimum-distance . 9)
       (padding . 1)
       (stretchability . 10))
} { … }

Per modificar globalment qualssevol dels ajustos d’espaiat, poseu-los dins del bloc \layout:

 
\layout {
  \context {
    \Staff
    \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
  }
}

Els ajustos estàndard per a les propietats de grob de l’espaiat vertical s’indiquen a (internals)VerticalAxisGroup section ‘VerticalAxisGroup’ in Referència de funcionament intern i a (internals)StaffGrouper section ‘StaffGrouper’ in Referència de funcionament intern. Les sobreescriptures predeterminades per als tipus específics de línies que no són pautes estan indicades a les descripcions de context corresponents a (internals)Contexts section ‘Contexts’ in Referència de funcionament intern.

Propietats del grob VerticalAxisGroup

Les propietats de VerticalAxisGroup se solen ajustar amb una ordre \override al nivell de Staff (o equivalent).

staff-staff-spacing

S’utilitza per determinar la distància entre la pauta actual i la pauta que està just per sota d’ella dins del mateix sistema, fins i tot si hi ha més línies que no són pautes (com ara Lyrics) entre les dues pautes. No s’aplica a la pauta inferior d’un sistema.

Inicialment, el valor de l’espaiat staff-staff-spacing d’un grup VerticalAxisGroup és una funció de l’Scheme que aplica les propietats del StaffGrouper si la pauta forma part d’un grup, o el default-staff-staff-spacing de la pauta en cas contrari. Això fa possible que les pautes estiguin espaiades de forma diferent quan estan agrupades. Per aconseguir un espaiat regular sense importar l’agrupament, aquesta funció es pot substituir per una llista-A d’espaiat flexible, utilitzant la forma de sobreescriptura de redefinició completa que s’ha mostrat abans.

default-staff-staff-spacing

Una llista-A d’espaiat fleixble que defineix l’espai staff-staff-spacing que s’usarà per a les pautes sense agrupar, a no ser que s’hagi sobreescrit explícitament staff-staff-spacing amb una ordre \override.

staff-affinity

Direcció de la pauta a utilitzar per a l’espaiat de la línia actual que no és pauta. Es pot escollir entre UP (amunt), DOWN (avall) i CENTER (centre). Si és CENTER, la línia del tipo no-pauta es col·loca equidistant entre les dues pautes contigües a ambdós costat, a no ser que l’impedeixin col·lisions o altres restriccions d’espaiat. Les línies del tipus no-pauta adjacents han de portar valors de staff-affinity no creixents des de la part superior fins la inferior, per exemple una línia del tipus no-pauta establerta a UP no hauria de seguir immediatament a una altra que estigui establerta a DOWN. Les línies del tipus no-pauta a la part superior d’un sistema han d’usar DOWN; les de la part inferior han d’usar UP. L’ajustament de staff-affinity per a una pauta fa que se la tracti com una línia que no és una pauta. L’establiment de staff-affinity a #f per a una línia que no és una pauta fa que es tracti com una pauta. L’establiment de staff-affinity a UP, CENTER, o DOWN fa que el pentagrama resulti espaiat com si fos una línia que no és una pauta.

nonstaff-relatedstaff-spacing

Distància entre la línia del tipus no-pauta actual i la pauta més pròxima en la direcció de staff-affinity, si no hi ha cap línia que no sigui una pauta entre les dues, i staff-affinity és UP o DOWN. Si staff-affinity és CENTER, aleshores s’usa nonstaff-relatedstaff-spacing per a les pautes més pròximes als dos costats, fins i tot que apareguin altres línies del tipus no-pauta entre la pauta actual i una de les altres. Això significa que la col·locació d’una línia que no és una pauta depèn tant de les pautes que la rodegen com de les línies que no són pautes i que la rodegen. L’establiment el paràmetre d’ampliat stretchability d’un d’aquests tipus d’espaiat a un valor més petit provoca que aquest espaiat domini. L’establiment de stretchability a un valor més gran fa que aquest espaiat tingui un efecte menor.

nonstaff-nonstaff-spacing

Distància entre la línia actual del tipus no-pauta i la següent línia del tipus no-pauta en la direcció de staff-affinity, si les dues estan al mateix cantó de la pauta relacionada, i staff-affinity és UP o DOWN.

nonstaff-unrelatedstaff-spacing

Distància entre la línia actual del tipus no-pauta i la pauta en la direcció oposada de staff-affinity, si no hi ha cap altra línia del tipus no-pauta entre les dues, i staff-affinity està establert a UP o DOWN. Es pot usar, per exemple, per requerir de farciment mínim entre una línia de Lyrics i la pauta a la que no pertany.

Propietats del grob StaffGrouper

Les propietats de StaffGrouper se solen ajustar amb una ordre \override al nivell de StaffGroup (o equivalent).

staff-staff-spacing

Distància entre pautes consecutives dins del grup de pautes actual. La propietat staff-staff-spacing del grob VerticalAxisGroup d’una pauta individual es pot sobreescriure amb diferents ajustaments d’espaiat per a aquesta pauta.

staffgroup-staff-spacing

Distància entre l’última pauta del grup en curs i la pauta que està just per sota d’ella dins del mateix sistema, fins i tot si existeixen una o més línies que no són pautes (tals com Lyrics) entre les dues pautes. No s’aplica al pentagrama o pauta inferior d’un sistema. La propietat staff-staff-spacing del grob VerticalAxisGroup d’una pauta individual es pot sobreescriure amb diferents ajustament d’espaiat per a aquesta pauta.

Vegeu també

Referencia de la notació: Variables flexibles d’espaiat vertical de \paper. Modificació de les llistes-A.

Fitxers d’inici: ‘ly/engraver-init.ly’, ‘scm/define-grobs.scm’.

Referència de funcionament intern: (internals)Contexts section ‘Contexts’ in Referència de funcionament intern, (internals)VerticalAxisGroup section ‘VerticalAxisGroup’ in Referència de funcionament intern, (internals)StaffGrouper section ‘StaffGrouper’ in Referència de funcionament intern.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

Espaiat de pautes no agrupades

@translationof Spacing of ungrouped staves

Les pautes, tals como els pentagrames (Staff), pautes de percussió (DrumStaff) o de tabulatura (TabStaff), etc. són contextos que poden contenir un o més contextos de veu, però no poden contenir altres pautes.

Les següents propietats afecten a l’espaiat de les pautes no agrupades:

Aquestes propietats de grob es descriuen individualment més a dalt; vegeu Propietats d’espaiat dins dels sistemes.

Estan implicades certes propietats addicionals per a les pautes que són part d’un grup; vegeu Espaiat de pautes agrupades.

L’exemple següent mostra com la propietat default-staff-staff-spacing pot afectar l’espaiat de pautes no agrupades. Les mateixes sobreescriptures aplicades a staff-staff-spacing tindrien el mateix efecte, però també s’aplicaria en cas que les pautes estiguessin combinades en un grup o grups.

 
\layout {
  \context {
    \Staff
    \override VerticalAxisGroup.default-staff-staff-spacing =
      #'((basic-distance . 8)
         (minimum-distance . 7)
         (padding . 1))
  }
}

<<
  % A l'última nota de totes li cal més espai que el que pot
  % proveir 'basic-distance, per tant la distància entre aquest
  % pentagrama i el següent es determina amb 'padding.
  \new Staff { b,2 r | }

  % Aquí, 'basic-distance proveeix prou espai, i no cal comprimir
  % l'espai (cap a 'minimum-distance) per fer espai per cap altra
  % cosa a la pàgina, per tant la distància entre aquest
  % pentagrama i el següent es determina per 'basic-distance.
  \new Staff { \clef bass g2 r | }

  % Si s'estableix 'padding a un valor negatiu, permet que les
  % pautes xoquin. EL valor més petit acceptable per a
  % 'basic-distance és 0.
  \new Staff \with {
    \override VerticalAxisGroup.default-staff-staff-spacing =
      #'((basic-distance . 3.5)
         (padding . -10))
  } { \clef bass g2 r | }
  \new Staff { \clef bass g2 r | }
>>

[image of music]

Vegeu també

Fitxers d’inici: ‘scm/define-grobs.scm’.

Fragments de codi: (snippets)Spacing section ‘Spacing’ in Fragments de codi.

Referència de funcionament intern: (internals)VerticalAxisGroup section ‘VerticalAxisGroup’ in Referència de funcionament intern.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

Espaiat de pautes agrupades

@translationof Spacing of grouped staves

En partitures grans com les orquestrals, s’acostuma a col·locar els pentagrames en grups. L’espaiat entre els grups sol ser més gran que l’espai que hi ha entre els pentagrames dins del mateix grup.

Els grups de pautes, Staff-groups (tals com StaffGroup, ChoirStaff, etc.) són contextos que poden contenir al mateix temps un o més pentagrames o pautes.

Les propietats següents afecten l’espaiat de les pautes dins dels grups:

Aquestes propietats de grob es descriuen individualment més a dalt; vegeu Propietats d’espaiat dins dels sistemes.

Aquestes propietats de grob es descriuen individualment més a dalt; vegeu Propietats d’espaiat dins dels sistemes.

L’exemple següent mostra com poden afectar les propietats del grob StaffGrouper a l’espaiat de les pautes agrupades:

 
\layout {
  \context {
    \Score
    \override StaffGrouper.staff-staff-spacing.padding = #0
    \override StaffGrouper.staff-staff-spacing.basic-distance = #1
  }
}

<<
  \new PianoStaff \with {
    \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #20
  } <<
    \new Staff { c'1 }
    \new Staff { c'1 }
  >>

  \new StaffGroup <<
    \new Staff { c'1 }
    \new Staff { c'1 }
  >>
>>

[image of music]

Vegeu també

Fitxers d’inici: ‘scm/define-grobs.scm’.

Fragments de codi: (snippets)Spacing section ‘Spacing’ in Fragments de codi.

Referència de funcionament intern: (internals)VerticalAxisGroup section ‘VerticalAxisGroup’ in Referència de funcionament intern, (internals)StaffGrouper section ‘StaffGrouper’ in Referència de funcionament intern.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

Espaiat de les línies que no són pautes

@translationof Spacing of non-staff lines

Les Línies que no són pautes (com ara Lyrics, ChordNames, etc.) sén contextos els objectes de presentació dels quals s’imprimeixen com pentagrames (és a dir, en línies horitzontals dins dels sistemes). Específicament, les línies que no són pautes són contextos del tipus no-pauta que contenen el gravador (internals)Axis_group_engraver section ‘Axis_group_engraver’ in Referència de funcionament intern.

Les propietats següents afecten a l’espaiat de les línies que no són pautes:

Aquestes propietats de grob es descriuen individualment més a dalt; vegeu Propietats d’espaiat dins dels sistemes.

L’exemple següent mostra com la propietat nonstaff-nonstaff-spacing pot afectar l’espaiat de línies consecutives que no són pautes. Aquí, mitjançant l’establiment de la clau de capacitat d’ampliació stretchability a un valor més gran, la línia de lletra es capaç d’ampliar-se molt més del que és usual:

 
\layout {
  \context {
    \Lyrics
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing.stretchability = #1000
  }
}

\new StaffGroup
<<
  \new Staff \with {
    \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 30))
  } { c'1 }
  \new Lyrics \with {
    \override VerticalAxisGroup.staff-affinity = #UP
  } \lyricmode { up }
  \new Lyrics \with {
    \override VerticalAxisGroup.staff-affinity = #CENTER
  } \lyricmode { center }
  \new Lyrics \with {
    \override VerticalAxisGroup.staff-affinity = #DOWN
  } \lyricmode { down }
  \new Staff { c'1 }
>>

[image of music]

Vegeu també

Fitxers d’inici: ‘ly/engraver-init.ly’, ‘scm/define-grobs.scm’.

Fragments de codi: (snippets)Spacing section ‘Spacing’ in Fragments de codi.

Referència de funcionament intern: (internals)Contexts section ‘Contexts’ in Referència de funcionament intern, (internals)VerticalAxisGroup section ‘VerticalAxisGroup’ in Referència de funcionament intern.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.4.2 Posicionament explícit dels pentagrames i els sistemes

@translationof Explicit staff and system positioning

Una forma d’entendre els mecanismes de l’espaiat vertical flexible que s’han explicat més a dalt es com una col·lecció d’ajustaments que controlen la quantitat de farciment vertical entre els pentagrames i els sistemes.

És possible enfrontar-se a l’espaiat vertical d’una forma diferent utilitzant NonMusicalPaperColumn.line-break-system-details. Mentre que els mecanismes de l’espaiat vertical flexible especifiquen farciment vertical, NonMusicalPaperColumn.line-break-system-details pot especificar posicions verticals exactes sobre la pàgina.

NonMusicalPaperColumn.line-break-system-details accepta una llista associativa de quatre ajustament diferents:

Les sobreescriptures dels objectes gràfics, entre elles las de NonMusicalPaperColumn que apareixen més avall, poden ocórrer en tres llocs diferents dins d’un fitxer d’entrada:

Quan sobreescrivim NonMusicalPaperColumn, usem l’ordre \override usual en els blocs \context i en el bloc \with. Per una altra part, quan sobreescrivim NonMusicalPaperColumn en mig de les notes, hem d’usar l’ordre especial \overrideProperty. A continuació es poden trobar algunes sobreescriptures de NonMusicalPaperColumn d’exemple amb l’ordre especial especial \overrideProperty:

 
\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((X-offset . 20))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((Y-offset . 40))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((X-offset . 20)
     (Y-offset . 40))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((alignment-distances . (15)))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((X-offset . 20)
     (Y-offset . 40)
     (alignment-distances . (15)))

Per entendre com funciona cada un dels diferents ajustament, comencem observant un exemple que no inclou absolutament cap sobreescriptura.

 
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          s1*5 \break
          s1*5 \break
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

Aquesta partitura manté aïllada tant la informació dels salts de línia com els de pàgina d’una veu dedicada a això. Aquesta tècnica de crear una veu de salts ajuda a mantenir separada de l’escriptura de notes conforme l’exemple es torna més complicat. Consulteu Salts.

Utilitzant ordres \break explícites, la música es divideix en línies de cinc compassos cada una. L’espaiat vertical prové dels ajustos predeterminats del LilyPond però el punt d’origen vertical de cada sistema es fixa explícitament usant el parell Y-offset a l’atribut line-break-system-details del grob (objecte gràfic) NonMusicalPaperColumn:

 
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 0))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 40))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 60))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

Observeu que line-break-system-details pren una llista associativa d’una quantitat de valors potencialment elevada, però aquí sols establim un valor. Observeu també que aquí la propietat Y-offset determina la posició vertical exacta sobre la pàgina en la qual es traçarà cadascú dels nous sistemes.

En contrast amb la localització absoluta que es pot fer usant Y-offset y X-offset, es possible una localització relativa amb la propietat extra-offset de line-break-system-details. La col·locació és relativa a la disposició predeterminada o al posicionament absolut creat mitjançant l’establiment dels valors de X-offset i de Y-offset. La propietat extra-offset accepta una parella de nombres (un pair) que consisteix en desplaçaments al llarg dels eixos X i Y.

 
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((extra-offset . (0 . 10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((extra-offset . (0 . 10)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

Ara que hem establert explícitament el punt d’origen vertical de cada sistema, podem també establir manualment les distàncies verticals entre els pentagrames dins de cada sistema. Ho fem usant la subpropietat alignment-distances de line-break-system-details.

 
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 20)
               (alignment-distances . (10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 60)
               (alignment-distances . (15)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
          #'((Y-offset . 85)
             (alignment-distances . (20)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

Observeu que aquí assignem dos valors diferents a l’atribut line-break-system-details del grob NonMusicalPaperColumn. Tot i que l’atribut alist de line-break-system-details accepta molts paràmetres d’espaiat addicionals (entre ells, per exemple, un parell X-offset corresponent), sols hem d’establir el desplaçament Y-offset y els parells alignment-distances per controlar el punt d’origen vertical de cada sistema i pentagrama. Finalment, observeu que alignment-distances especifica el posicionament vertical dels pentagrames però no dels grups de pentagrames.

 
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 0)
               (alignment-distances . (30 10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 60)
               (alignment-distances . (10 10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 100)
               (alignment-distances . (10 30)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new StaffGroup <<
        \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
        \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
      >>
    >>
  }
}

[image of music]

Alguns punts a tenir en compte:

Vegeu també

Fragments de codi: (snippets)Spacing section ‘Spacing’ in Fragments de codi.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.4.3 Evitar les col·lisions verticals

@translationof Vertical collision avoidance

Podem dir intuïtivament que alguns objectes de la notació musical pertanyen al pentagrama i d’altres se situen fora del pentagrama. Entre els objectes que pertanyen a l’exterior del pentagrama estan les marques d’assaig, les marques textuals i les indicacions de dinàmica (en el que segueix, les anomenarem objectes fora del pentagrama). La regla del LilyPond per a la col·locació vertical dels objectes fora del pentagrama és posar-los tan a prop del pentagrama com sigui possible, però no tan propers com perquè xoquin amb un altre objecte.

El LilyPond fa servir la propietat outside-staff-priority per a determinar si un grob és un objecte fora del pentagrama: si outside-staff-priority és un nombre, el grob és un objecte fora del pentagrama. A més, outside-staff-priority informa al LilyPond en quin ordre s’han de situar els objectes.

En primer lloc, el LilyPond situa tots els objectes que no pertanyen a l’exterior del pentagrama. Després ordena els objectes fora del pentagrama d’acord a la seva propietat outside-staff-priority (en ordre creixent). El LilyPond agafa els objectes fora del pentagrama un a un i els col·loca de forma que no xoquin amb cap objecte que ja hagi estat col·locat. En altres paraules, si dos gros fora del pentagrama competeixen pel mateix espai, el que la prioritat outside-staff-priority més baixa es col·locarà més proper al pentagrama.

Hi ha un llistat complet de les prioritats outside-staff-priorities a (learning)La propietat outside-staff-priority (prioritat fora del pentagrama) section ‘La propietat outside-staff-priority (prioritat fora del pentagrama)’ in Manual d’aprenentatge.

 
\relative c'' {
  c4_"Text"\pp
  r2.
  \once \override TextScript.outside-staff-priority = #1
  c4_"Text"\pp % aquest cop el text estarà més a prop del pentagrama
  r2.
  % establint outside-staff-priority a un no-nombre
  % deshabilitem la cancel·lació automàtica de col·lisions
  \once \override TextScript.outside-staff-priority = ##f
  \once \override DynamicLineSpanner.outside-staff-priority = ##f
  c4_"Text"\pp % now they will collide
}

[image of music]

El farcit vertical que rodeja als objectes fora del pentagrama es pot controlar amb outside-staff-padding.

 
\relative {
  \once \override TextScript.outside-staff-padding = #0
  a'4-"outside-staff-padding = #0"
  \once \override TextScript.outside-staff-padding = #3
  d-"outside-staff-padding = #3"
  c-"default outside-staff-padding"
  b-"default outside-staff-padding"
  R1
}

[image of music]

De forma predeterminada, els objectes fora del pentagrama es col·loquen de forma que evitin una col·lisió horitzontal amb els grobs posicionats prèviament. Això pot portar a situacions en les quals els objectes es col·loquen molt propers entre ells en el sentit horitzontal. Com es mostra a l’exemple que apareix més a sota, en establir outside-staff-horizontal-padding s’incrementa l’espai horitzontal necessari, i en aquest cas es mou el text cap a munt per evitar que quedi massa a prop de les línies addicionals.

 
\relative {
  c''4^"Word" c c''2
  R1
  \once \override TextScript.outside-staff-horizontal-padding = #1
  c,,4^"Word" c c''2
}

[image of music]

Vegeu també

Fragments de codi: (snippets)Spacing section ‘Spacing’ in Fragments de codi.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]

This document was generated by gub on Juliol 13, 2020 using texi2html 1.82.

Altres idiomes: English, deutsch, español, français, italiano, 日本語.
Quant a la selecció automàtica de la llengua.