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

4.3 Salts

@translationof Breaks


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

4.3.1 Salts de línia

@translationof Line breaking

Normalment els salts de línia es determinen automàticament. Es trien de forma que les línies no apareguin massa juntes ni massa separades, i que les línies consecutives tinguin una densitat semblant.

Per forçar manualment un salt de línia sobre la línia divisòria, utilitzeu l’ordre \break:

 
\relative c'' {

c4 c c c | \break
  c4 c c c |
}

[image of music]

De forma predeterminada s’ignora qualsevol ordre \break inserida a la meitat del compàs, i s’imprimeix un missatge d’advertiment durant la compilació del fitxer d’entrada del LilyPond. Per forçar un salt de línia en mig d’un compàs, afegiu una línia divisòria invisible amb ‘\bar ""’:

 
\relative c'' {
  c4 c c
  \bar ""
  \break
  c |
  c4 c c c |
}

[image of music]

També s’ignora qualsevol ordre \break que es produeixi a la línia divisòria si el compàs anterior acaba en mig d’una nota, com quan un grup de valoració especial comença en un compàs i termina en un altre. En aquest cas, elimineu el gravador Forbid_line_break_engraver del context Voice i useu una construcció de música simultània inserint el break al lloc adequat dins d’una segona veu:

 
\new Voice \with {
  \remove "Forbid_line_break_engraver"
} \relative {
  <<
    { c''2. \tuplet 3/2 { c4 c c } c2. | }
    { s1 | \break s1 | }
  >>
}

[image of music]

De forma semblant, el funcionament predeterminat és que els salts de línia resultin ignorats quan hi ha barres de corxera que creuen la línia divisòria. Utilitzeu l’ordre \override Beam.breakable = ##t per forçar això:

 
\relative c'' {
  \override Beam.breakable = ##t
  c2. c8[ c | \break
  c8 c] c2. |
}

[image of music]

L’ordre \noBreak, evita que es produeixi un salt de línia a la barra divisòria en el qual s’insereix.

Dins d’una partitura, s’eviten els salts de línia automàtics dins de la música que es troba entre les ordres \autoLineBreaksOff i \autoLineBreaksOn. Si també es volen evitar els salts de pàgina automàtics, s’han d’usar les ordres \autoBreaksOff i \autoBreaksOn. Els salts manuals no estan afectats per aquestes ordres. Observeu que el fet d’inhibir els salts de línia automàtics pot fer que la música s’estengui sobre el marge dret sempre que no cap completament dins d’una sola línia.

Els salts automàtics de línia (no de pàgina) es poden habilitar sobre línies divisòries individuals mitjançant l’ús de \once \autoLineBreaksOn en una barra. L’ordre identifica un salt de línia permès, en lloc d’un de prohibit.

Els ajustaments més bàsics que influeixin sobre l’espaiat de les línies són indent i line-width. S’estableixen dins del bloc \layout. Controlen el sagnat de la primera línia de música, i la longitud de les línies.

Si s’estableix ragged-right a vertader al bloc \layout, els sistemes acaben en la seva longitud horitzontal natural, enlloc de distribuir-se horitzontalment per omplir tota la línia. Això és d’utilitat per a fragments curts, i per efectuar una comprovació de l’atapeït que és l’espaiat natural.

L’opció ragged-last és semblant a ragged-riht, però afecta sola a l’úĺtima línia de la peça.

 
\layout {
  indent = 0\mm
  line-width = 150\mm
  ragged-last = ##t
}

Per a salts de línia a intervals regulars utilitzeu \break separat mitjançant desplaçaments amb \skip i repetits amb \repeat. Per exemple, això faria que els 28 compassos següents (suposant un compàs de 4/4) es divideixin cada quatre compassos, i sols en aquests llocs:

 
<<
  \repeat unfold 7 {
    s1 \noBreak s1 \noBreak
    s1 \noBreak s1 \break
  }
  { la música real… }
>>

Instruccions predefinides

\break, \noBreak, \autoBreaksOff, \autoBreaksOn, \autoLineBreaksOff, \autoLineBreaksOn.

Fragments de codi seleccionats

Using an extra voice for breaks

Often it is easier to manage line and page-breaking information by keeping it separate from the music by introducing an extra voice containing only skips along with the \break, pageBreak and other layout information.

This pattern becomes especially helpful when overriding line-break-system-details and the other useful but long properties of NonMusicalPaperColumnGrob.

 
music = \relative c'' { c4 c c c }

\score {
  \new Staff <<
    \new Voice {
      s1 * 2 \break
      s1 * 3 \break
      s1 * 6 \break
      s1 * 5 \break
    }
    \new Voice {
      \repeat unfold 2 { \music }
      \repeat unfold 3 { \music }
      \repeat unfold 6 { \music }
      \repeat unfold 5 { \music }
    }
  >>
}

[image of music]

Vegeu també

Referència de la notació: Variables de \paper per als salts de línia, El bloc \layout.

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

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

Advertiments i problemes coneguts

Si s’escriu \autoLineBreaksOff o \autoBreaksOff abans de qualsevol contingut musical, apareixeran missatges d’error. Escriviu sempre aquestes ordres després d’una mica de música.


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

4.3.2 Salts de pàgina

@translationof Page breaking

Aquesta secció descriu els diferents mètodes per crear salts de pàgina, i com modificar-los.


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

Salts de pàgina manuals

@translationof Manual page breaking

Es pot sobreescriure el mecanisme predeterminat de salt de pàgina inserint ordres \pageBreak o \noPageBreak. Aquestes ordres són anàlogues a \break i \noBreak. S’han d’inserir en una línia divisòria. Aquestes ordres forcen i prohibeixen, respectivament, l’eventualitat d’un salt de pàgina d’aquesta línia divisòria. Per suposat, l’ordre \pageBreak també força un salt de línia.

Les ordres \pageBreak i \noPageBreak també es poden inserir al nivell més alt, entre les partitures i els elements de marcatge situats al nivell superior.

Dins d’una partitura, no es produeixen salts de pàgina automàtics a l’interior de la música que est troba entre les ordres \autoPageBreaksOff i \autoPageBreaksOn. Els salts de pàgina manuals no es veuen afectats per aquestes ordres.

Hi ha ajustament anàlegs a ragged-right i ragged-last que tenen el mateix efecte sobre l’espaiat vertical. Si ragged-bottom s’estableix a #t els sistemes no es justifiquen verticalment. Quan el valor de ragged-last-bottom es fixa a #t, como ho està de forma predeterminada, es permet una separació al final de l’última pàgina (o l’última pàgina de cada una de les parts de llibre \bookpart). Vegeu Variables fixes d’espaiat vertical de \paper.

Els salts de pàgina es calculen per mitjà de la funció page-breaking. El LilyPond ofereix algoritmes per al còmput dels salts de pàgina, entre ells ly:optimal-breaking, ly:page-turn-breaking i ly:minimal-breaking. El predeterminat és ly:optimal-breaking, però el valor es pot canviar al bloc \paper:

 
\paper {
  page-breaking = #ly:page-turn-breaking
}

Quan un llibre té moltes partitures i pàgines, pot ser difícil resoldre el problema dels salts de pàgina, fent falta molta memòria i temps llargs de processament. Per facilitar el procés de divisió de pàgines, s’usen els blocs \bookpart per dividir el llibre en diverses parts: els salts de pàgina es produeixen de manera independent a cada part. També es poden usar diferents funcions de divisió en pàgines per a les diferents part del llibre.

 
\bookpart {
  \header {
    subtitle = "Prefaci"
  }
  \paper {
     %% En una part consisteix en text principalment,
     %% pot ser preferible ly:minimal-breaking
     page-breaking = #ly:minimal-breaking
  }
  \markup { … }
  …
}
\bookpart {
  %% En aquesta part, consistent en música, s'usa la funció
  %% òptima predeterminada de salts de pàgina.
  \header {
    subtitle = "Primer moviment"
  }
  \score { … }
  …
}

Instruccions predefinides

\pageBreak, \noPageBreak, \autoPageBreaksOn, \autoPageBreaksOff.

Vegeu també

Referència de la notació: Variables de \paper per als salts de pàgina.

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

Advertiments i problemes coneguts

El prefix \once no és efectiu amb \autoPageBreaksOn i \autoPageBreaksOff. Si s’ha desactivat la divisió automàtica de pàgines i després es torna a activar per permetre un salt, ha de continuar activada durant alguns compassos (el nombre exacte dels quals dependrà de la partitura) abans de tornar-se a desactivar, perquè en cas contrari podria perdre’s l’oportunitat que es produeixi el salt.


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

Salts de pàgina òptims

@translationof Optimal page breaking

La funció ly:optimal-breaking és el mètode predeterminat del LilyPond per determinar els salts de pàgina. Intenta trobar una divisió de pàgines que minimitzi l’atapeïment i la distensió, tant horitzontalment com vertical. A diferència de ly:page-turn-breaking, no inclou un concepte dels passos de pàgina.

Vegeu també

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


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

Saltos de página mínimos

@translationof Minimal page breaking

La funció ly:minimal-breaking efectua uns càlculs mínims per determinar els salts de pàgina: completa una pàgina amb tants sistemes com sigui possible abans de continuar amb la següent. Així, pot preferir-se per a partitures amb moltes pàgines, on les altres funcions de salt de pàgina poden resultar massa lentes o àvides de memòria, o amb una gran quantitat de textos. S’habilita utilitzant:

 
\paper {
  page-breaking = #ly:minimal-breaking
}

Vegeu també

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


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

Salts de pàgina del tipus pàgina única

@translationof One-page page breakingp

La funció ly:one-page-breaking (salts de pàgina única) és un algoritme de salts de pàgina de propòsit especial que ajusta automàticament l’alçada de la pàgina perquè càpiga tota la música en una sola pàgina. La variable paper-height del bloc paper s’ignora, però els altres ajustaments funcionen de la manera acostumada. Concretament, l’espaiat entre l’últim sistema (o element de marcatge de nivell superior) i el peu de pàgina es pot personalitzar amb last-bottom-spacing dins del bloc paper. L’amplada de la pàgina es queda sense alterar per omissió, però es pot fixar amb la variable paper-width del bloc paper.

Advertiments i problemes coneguts

ly:one-page-breaking no és compatible, de moment, amb \bookpart.


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

Salts de pàgina del tipus una-línia

@translationof One-line page breaking

La funció ly:one-line-breaking és un algoritme de salts de pàgina per ús especial que posa cada partitura en una pàgina i una sola línia. Aquesta funció de salt de pàgina no composa els títols ni els marges; sols s’imprimeix la partitura.

L’amplada de la pàgina s’ajusta de forma que la partitura més llarga càpiga en una línia. Concretament, les variables paper-width, line-width i indent del bloc \paper s’ignoren, tot i que left-margin i right-margin encara es respecten. L’alçada de la pàgina es deixa sense canvis.


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

Salts de pàgina del tipus una-línia-alçada-automàtica

@translationof One-line-auto-height page breaking

La funció ly:one-line-auto-height-breaking funciona igual que ly:one-line-breaking excepte que l’alçada de la pàgina es modifica autoàticament per fer-se correspondre amb l’alçada de la música. De forma específica, la variable paper-height del bloc \paper s’ajusta de tal manera que abasta els extrems superior i inferior de la partitura més alta més els marges superior i inferior top-margin i bottom-margin.

Observeu que l’ajustament top-system-spacing afecta a la posició vertical de la música. Establiu-lo al valor ##f dins d’un bloc paper para disposar la música senzillament entre els marges superior i inferior.


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

Pas de pàgina òptim

@translationof Optimal page turning

Freqüentment cal trobar una configuració de divisió de pàgines de manera que hi hagi un silenci al final d’una pàgina de cada dos. D’aquesta forma, el músic pot passar la pàgina sense perdre notes. La funció ly:page-turn-breaking intenta trobar una divisió de pàgines que faci mínims l’atapeïment i l’estirament, però amb la restricció afegida que sols es permet introduir voltes de pàgina als llocs especificats.

Hi ha dues etapes en l’ús d’aquesta funció de divisió de pàgines. En primer lloc hem d’habilitar-lo en el bloc \paper, com es va explicar a Salts de pàgina. Aleshores hem de dir-li a la funció on ens agradaria permetre els salts de pàgina.

Hi ha dues formes d’aconseguir la segona tasca. Primer, podem especificar manualment cada un dels passos de pàgina potencials, inserint \allowPageTurn al nostre fitxer d’entrada als llocs adequats.

Si això és massa tediós, podem afegir un gravador Page_turn_engraver a un context Staff o Voice. El gravador Page_turn_engraver analitzarà el context en cerca de seccions sense notes (observeu que no busca silencis, sinó l’absència de notes. Es fa així perquè la polifonia en un sol pentagrama amb silencis en una de les veus no arruïni la tasca del gravador Page_turn_engraver). Quan troba una secció sense notes suficientment llarg, el gravador Page_turn_engraver insereix un \allowPageTurn a l’última barra de compàs d’aquesta secció, a no ser que hi hagi una barra ‘especial’ de compàs (com una doble barra), cosa que farà que insereixi el \allowPageTurn en la última barra ‘especial’ de compàs de la secció.

El gravador Page_turn_engraver llegeix la propietat de context minimumPageTurnLength per determinar quina longitud ha de tenir una secció sense notes abans que es consideri la possibilitat d’un pas de pagina. El valor predeterminat per a minimumPageTurnLength és (ly:make-moment 1/1). Si voleu deshabilitar les voltes de pàgina, establiu-lo a algun valor ‘molt gran’.

 
\new Staff \with { \consists "Page_turn_engraver" }
{
  a4 b c d |
  R1 | % aquí es permet un salt de pàgina
  a4 b c d |
  \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
  R1 | % aquí no es permet un salt de pàgina
  a4 b r2 |
  R1*2 | % aquí es permet un salt de pàgina
  a1
}

En usar repeticions de primera i segona vegada, el gravador Page_turn_engraver sols permet un pas de pàgina durant la repetició si hi ha prou temps al principi i al final de la repetició per tornar a passar la pàgina cap a darrere. Si la repetició es massa curta, es pot usar el gravador Page_turn_engraver per deshabilitar els passos de pàgina mitjançant l’establiment d’un valor adequat per a la propietat de context minimumRepeatLengthForPageTurn. En aquest cas el gravador Page_turn_engraver sols permetrà els passos de pàgina a les repeticions la durada de les quals sigui més gran que el valor especificat.

Les ordres de pas de pàgina, \pageTurn, \noPageTurn i \allowPageTurn, es poden usar també al nivell més elevat del codi, dins d’elements de marcatge del nivell superior i entre les partitures.

Instruccions predefinides

\pageTurn, \noPageTurn, \allowPageTurn.

Vegeu també

Referència de la notació: Variables de \paper per als salts de línia.

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

Advertiments i problemes coneguts

Utilitzeu un sols gravador Page_turn_engraver en cada partitura. Si hi ha més d’un, s’interferiran entre sí.

Vegeu també

Referència de la notació: Espaiat vertical.

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.