| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof Breaks
| 4.3.1 Saltos de línea | ||
| 4.3.2 Saltos de página |
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof Line breaking
Normalmente los saltos de línea se determinan automáticamente. Se eligen de forma que las líneas no aparezcan demasiado apretadas ni demasiado sueltas, y que las líneas consecutivas tengan una densidad similar.
Para forzar manualmente un salto de línea sobre la línea
divisoria, utilice la instrucción \break:
\relative c'' { c4 c c c | \break c4 c c c | }
De forma predeterminada se ignora cualquier instrucción
\break insertada en la mitad de un compás, y se imprime un
mensaje de advertencia durante la compilación del archivo de
entrada de LilyPond. Para forzar un salto de línea en medio de un
compás, añada una línea divisoria invisible con ‘\bar
""’:
\relative c'' { c4 c c \bar "" \break c | c4 c c c | }
También se ignora cualquier instrucción \break que se
produzca en la línea divisoria si el compás anterior termina en
medio de una nota, como cuando un grupo de valoración especial
comienza en un compás y termina en otro distinto. En este caso,
elimine el grabador Forbid_line_break_engraver del contexto
Voice y use una construcción de música simultánea
insertando el break en el lugar adecuado dentro de la
segunda voz:
\new Voice \with { \remove "Forbid_line_break_engraver" } \relative { << { c''2. \tuplet 3/2 { c4 c c } c2. | } { s1 | \break s1 | } >> }
De forma similar, el funcionamiento predeterminado es que los
saltos de línea resulten ignorados cuando hay barras de corchea
que cruzan la línea divisoria. Utilice la instrucción
\override Beam.breakable = ##t para forzar esto:
\relative c'' { \override Beam.breakable = ##t c2. c8[ c | \break c8 c] c2. | }
La instrucción \noBreak, evita que se produzca
un salto de línea en la barra divisoria en que se inserta.
Dentro de una partitura, se evitan los saltos de línea automáticos
dento de la música que se encuentra entre las instrucciones
\autoLineBreaksOff y \autoLineBreaksOn. Si también
se quieren evitar los saltos de página automáticos, deben usarse
las instrucciones \autoBreaksOff y \autoBreaksOn.
Los saltos manuales no están afectados por estas instrucciones.
Observe que el hecho de inhibir los saltos de línea automáticos
puede hacer que la música se extienda sobre el margen derecho
cuandoquiera que no cabe completamente dentro de una sola línea.
Los saltos automáticos de línea (no de página) se pueden habilitar
sobre líneas divisorias individuales mediante el uso de
\once \autoLineBreaksOn en una barra. La instrucción
identifica un salto de línea permitido, en lugar de uno prohibido.
Los ajustes más básicos que influyen sobre el espaciado de las
líneas son indent y line-width. Se establecen dentro
del bloque \layout. Controlan el sangrado de la primera
línea de música, y la longitud de las líneas.
Si se establece ragged-right a verdadero en el bloque
\layout, los sistemas terminan en su longitud horizontal
natural, en lugar de distribuirse horizontalmente para llenar toda
la línea. Esto es de utilidad para fragmentos cortos, y para
efectuar una comprobación de lo apretado que es el espaciado
natural.
La opción ragged-last es similar a ragged-right,
pero afecta sólo a la última línea de la pieza.
\layout {
indent = 0\mm
line-width = 150\mm
ragged-last = ##t
}
|
Para saltos de línea a intervalos regulares utilice \break
separado mediante desplazamientos con \skip y repetidos con
\repeat. Por ejemplo, esto haría que los 28 compases
siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
compases, y sólo en dichos lugares:
<<
\repeat unfold 7 {
s1 \noBreak s1 \noBreak
s1 \noBreak s1 \break
}
{ la música real… }
>>
|
\break,
\noBreak,
\autoBreaksOff,
\autoBreaksOn,
\autoLineBreaksOff,
\autoLineBreaksOn.
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 } } >> }
Referencia de la notación:
Variables de \paper para los saltos de línea,
@ref{The layout block}.
Fragmentos de código: (snippets)Spacing sección ‘Spacing’ en Fragmentos de código.
Referencia de funcionamiento interno: (internals)LineBreakEvent sección ‘LineBreakEvent’ en Referencia de Funcionamiento Interno.
Si se escribe \autoLineBreaksOff o \autoBreaksOff
antes de cualquier contenido musical, aparecerán mensajes de
error. Escriba siempre estas instrucciones después de algo de
música.
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof Page breaking
Esta sección describe los distintos métodos para crear saltos de página, y cómo modificarlos.
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof Manual page breaking
Se puede sobreescribir el mecanismo predeterminado de salto de
página insertando instrucciones \pageBreak o
\noPageBreak. Estas instrucciones son análogas a
\break y \noBreak. Se deben insertar en una línea
divisoria. Estas instrucciones fuerzan y prohíben,
respectivamente, la eventualidad de un salto de página en dicha
línea divisoria. Por supuesto, la instrucción \pageBreak
también fuerza un salto de línea.
Las instrucciones \pageBreak y \noPageBreak también
se pueden insertar en el nivel más alto, entre las partituras y
los elementos de marcado situados en el nivel superior.
Dentro de una partitura, no se producen saltos de página
automáticos en el interior de la música que se encuentra entre las
instrucciones \autoPageBreaksOff y
\autoPageBreaksOn. Los saltos de página manuales no
reultan afectados por estas instrucciones.
Hay ajustes análogos a ragged-right y ragged-last
que tienen el mismo efecto sobre el espaciado vertical. Si
ragged-bottom se establece a #t los sistemas no se
justifican verticalmente. Cuando el valor de
ragged-last-bottom se fija a #t, como lo está de
forma predeterminada, se permite una separación al final de la
última página (o la última página de cada uno de las partes de
libro \bookpart). Véase
Variables de espaciado de \paper verticales fijas.
Los saltos de página se calculan por medio de la función
page-breaking. LilyPond ofrece varios algoritmos para el
cómputo de los saltos de página, entre ellos
ly:optimal-breaking, ly:page-turn-breaking y
ly:minimal-breaking. El predeterminado es
ly:optimal-breaking, pero el valor se puede cambiar en el
bloque \paper:
\paper {
page-breaking = #ly:page-turn-breaking
}
|
Cuando un libro tiene muchas partituras y páginas, puede ser
difícil resolver el problema de los saltos de página, necesitando
mucha memoria y prolongados tiempos de procesamiento. Para
facilitar el proceso de división en páginas, se usan los bloques
\bookpart para dividir el libro en varias partes: los
saltos de página se producen de manera independiente en cada
parte. También se pueden usar diferentes funciones de división en
páginas para las distintas partes del libro.
\bookpart {
\header {
subtitle = "Prefacio"
}
\paper {
%% En una parte que consiste en texto principalmente,
%% puede ser preferible ly:minimal-breaking
page-breaking = #ly:minimal-breaking
}
\markup { … }
…
}
\bookpart {
%% En esta parte, consistente en música, se usa la función
%% óptima predeterminada de saltos de página.
\header {
subtitle = "Primer movimiento"
}
\score { … }
…
}
|
\pageBreak,
\noPageBreak,
\autoPageBreaksOn,
\autoPageBreaksOff.
Referencia de la notación:
Variables de \paper para los saltos de página.
Fragmentos de código: (snippets)Spacing sección ‘Spacing’ en Fragmentos de código.
El prefijo \once no es efectivo con
\autoPageBreaksOn y \autoPageBreaksOff. Si se ha
desactivado la división automática de páginas y después se vuelve
a activar para permitir un salto, debe continuar activada durante
algunos compases (cuyo número exacto dependerá de la partitura)
antes de volverse a desactivar, pues en caso contrario podría
perderse la oportunidad de que el salto se produzca.
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof Optimal page breaking
La función ly:optimal-breaking es el método predeterminado
de LilyPond para determinar los saltos de página. Intenta hallar
una división de páginas que haga mínimos el apretujamiento y la
distensión, tanto horizontal como verticalmente. A diferencia de
ly:page-turn-breaking, no tiene un concepto de los pasos de
página.
Fragmentos de código: (snippets)Spacing sección ‘Spacing’ en Fragmentos de código.
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof Minimal page breaking
La función ly:minimal-breaking efectúa unos cálculos
mínimos para determinar los saltos de página: completa una página
con tantos sistemas como sea posible antes de continuar con la
siguiente. Así, puede preferirse para partituras con muchas
páginas, donde las otras funciones de salto de página pueden
resultar demasiado lentas o ávidas de memoria, o con una gran
cantidad de textos. Se habilita utilizando:
\paper {
page-breaking = #ly:minimal-breaking
}
|
Snippets: (snippets)Spacing sección ‘Spacing’ en Fragmentos de código.
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof One-page page breaking
La función ly:one-page-breaking (saltos de página única) es
un algoritmo de saltos de página de proósito especial que ajusta
automáticamente la altura de la página para que quepa toda la
música en una sola página. La variable paper-height del
bloque paper se ignora, pero los otros ajustes funcionan de
la manera acostumbrada. Concretamente, el espaciado entre el
último sistema (o elemento de marcado de nivel superior) y el pie
de página se puede personalizar con last-bottom-spacing
dentro del bloque paper. La anchura de la página se queda
sin alterar por omisión, pero se puede fijar con la variable
paper-width del bloque paper.
ly:one-page-breaking no es compatible, de momento, con
\bookpart.
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof One-line page breaking
La función ly:one-line-breaking es un algoritmo de saltos
de página para uso especial que pone cada partitura en una página
y en una sola línea. Esta función de salto de página no compone
los títulos ni los márgenes; solamente se imprime la partitura.
El ancho de la página se ajusta de forma que la partitura más
larga quepa en una línea. Concretamente, las variables
paper-width, line-width y indent del bloque
\paper se ignoran, aunque left-margin y
right-margin aún se respetan. La altura de la página se
deja sin cambios.
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof One-line-auto-height page breaking
La función ly:one-line-auto-height-breaking funciona igual
que ly:one-line-breaking excepro que la altura de la página
se modifica automáticamente para hacerse corresponder con la
altura de la música. De forma específica, la variable
paper-height del bloque \paper se ajusta de tal
manera que abarca los extremos superior e inferior de la partitura
más alta más los márgenes superior e inferior top-margin y
bottom-margin.
Observe que el ajuste top-system-spacing afecta a la
posición vertical de la música. Fíjelo al valor ##f dentro
de un bloque paper para disponer la música sencillamente
entre los márgenes superior e inferior.
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof Optimal page turning
Con frecuencia es necesario encontrar una configuración de
división de páginas de manera que haya un silencio al final de una
página de cada dos. De esta forma, el músico puede pasar la
página sin perder notas. La función ly:page-turn-breaking
trata de encontrar una división de páginas que haga mínimos el
apretujamiento y el estiramiento, pero con la restricción añadida
de que sólo se permite introducir vueltas de página en los lugares
especificados.
Hay dos etapas en el uso de esta función de división de páginas.
En primer lugar debemos habilitarlo en el bloque \paper,
como se explicó en Saltos de página. Entonces debemos
decirle a la función dónde nos gustaría permitir los saltos de
página.
Hay dos formas de conseguir la segunda tarea. Primero, podemos
especificar manualmente cada uno de los pasos de página
potenciales, insertando \allowPageTurn en nuestro archivo
de entrada en los lugares adecuados.
Si esto es demasiado tedioso, podemos añadir un grabador
Page_turn_engraver a un contexto Staff o Voice. El
grabador Page_turn_engraver analizará el contexto en busca
de secciones sin notas (observe que no busca silencios, sino la
ausencia de notas. Se hace así para que la polifonía en un solo
pentagrama con silencios en una de las voces no arruine la labor
del grabador Page_turn_engraver). Cuando encuentra una
sección sin notas suficientemente larga, el grabador
Page_turn_engraver inserta un \allowPageTurn en la
última barra de compás de dicha sección, a no ser que haya una
barra ‘especial’ de compás (como una doble barra), en cuyo caso
se insertará el \allowPageTurn en la última barra
‘especial’ de compás de la sección.
El grabador Page_turn_engraver lee la propiedad de contexto
minimumPageTurnLength para determinar qué longitud debe
tener una sección sin notas antes de que se considere la
posibilidad de un paso de página. El valor predeterminado para
minimumPageTurnLength es (ly:make-moment 1/1). Si
quiere inhabilitar las vueltas de página, fíjelo a algún valor
‘muy grande’.
\new Staff \with { \consists "Page_turn_engraver" }
{
a4 b c d |
R1 | % aquí se permite un salto de página
a4 b c d |
\set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
R1 | % aquí no se permite un salto de página
a4 b r2 |
R1*2 | % aquí se permite un salto de página
a1
}
|
Al usar repeticiones de primera y segunda vez, el grabador
Page_turn_engraver solo permite un pase de página durante
la repetición si hay suficiente tiempo al principio y al final de
la repetición para volver a pasar la página hacia atrás. Si la
repetición es demasiado corta, se puede usar el grabador
Page_turn_engraver para inhabilitar los pasos de
página mediante el establecimiento de un valor adecuado para la
propiedad de contexto minimumRepeatLengthForPageTurn. En
este caso el grabador Page_turn_engraver sólo permitirá los
pases de página en las repeticiones cuya duración sea mayor que el
valor especificado.
Las instrucciones de paso de página, \pageTurn,
\noPageTurn y \allowPageTurn, se pueden usar también
en el nivel más elevado del código, dentro de elementos de marcado
del nivel superior y entre las partituras.
\pageTurn,
\noPageTurn,
\allowPageTurn.
Referencia de la notación:
Variables de \paper para los saltos de línea.
Fragmentos de código: (snippets)Spacing sección ‘Spacing’ en Fragmentos de código.
Utilice un solo grabador Page_turn_engraver en cada
partitura. Si hay más de uno, se interferirán entre sí.
Notation Reference: @ref{Vertical spacing}.
Fragmentos de código: (snippets)Spacing sección ‘Spacing’ en Fragmentos de código.
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] |
Este documento ha sido generado por gub el el 13 julio 2020 utilizando texi2html 1.82.
Otros idiomas: English, català, deutsch, français, italiano, 日本語.
Acerca de la selección automática del idioma.