2.5.1 Barras de compás

Las líneas divisorias se usan para delimitar a los compases y las secciones, y para indicar repetición. Normalmente, las líneas divisorias normales se insertan de manera automática en la salida impresa en lugares que están de acuerdo con el compás actual. Hay varias instrucciones que insertan otros tipos de barras de compás automáticamente como parte del efecto (véase Automatic bar lines).

Se puede cambiar una barra de compás insertada automáticamente a otro tipo con la instrucción \bar:

\relative { e'4 d c2 \bar "!" }
[image of music]

La última nota de un compás no tiene por qué terminar sobre la línea divisoria automática: se supone que la nota se prolonga sobre el compás siguiente. Pero una secuencia larga de dichos compases prolongados puede hacer que la música aparezca comprimida o incluso que se salga de la página. Esto es a causa de que los saltos de línea automáticos solamente se producen al final de compases completos, es decir, cuando todas las notas han finalizado antes de que el compás termine.

Nota: Una duración incorrecta puede inhibir los saltos de línea, dando como resultado una línea de música con una compresión exagerada o música que se sale de la página.

También se permiten saltos de línea en las barras insertadas manualmente incluso dentro de compases incompletos. Para permitir un salto de línea donde no hay ninguna línea divisoria visible, utilice \allowBreak; see Saltos de línea.

Esta y otras líneas divisorias especiales se pueden insertar manualmente en cualquier punto. Cuando coinciden con el final de un compás, sustituyen a la línea divisoria simple que se habría insertado automáticamente en dicho lugar. Cuando no coinciden con el final de un compás, se inserta la línea especificada en ese punto en la salida impresa.

Las líneas divisorias manuales son puramente visuales. No afectan a ninguna de las propiedades que una barra normal afectaría, como a los números de compás o las alteraciones. No afectan tampoco al cálculo y colocación de las líneas divisorias subsiguientes. Cuando una divisoria se coloca manualmente donde ya existe una divisoria normal, los efectos de la línea original no se alteran.

Están disponibles para su inserción manual varios tipos de líneas divisorias simples y dobles:

\relative {
  f'1 \bar "|"
  f1 \bar "."
  g1 \bar "||"     % see \section
  a1 \bar ".|"
  b1 \bar ".."
  c1 \bar "|.|"
  d1 \bar "|."     % see \fine
  e1
}
[image of music]

así como la barra de puntos y la discontinua:

\relative {
  f'1 \bar ";"
  g1 \bar "!"
  a1
}
[image of music]

y varios tipos de barra de repetición:

\relative {
  f'1 \bar ".|:"
  g1 \bar ":..:"
  a1 \bar ":|.|:"
  b1 \bar ":|.:"
  c1 \bar ":.|.:"
  d1 \bar "[|:"
  e1 \bar ":|][|:"
  f1 \bar ":|]"
  g1 \bar ":|."
  a1
}
[image of music]

También están disponibles líneas cortas y de tipo coma, aunque en el contexto del canto gregoriano es preferible usar \divisioMinima y \divisioMaior (see Divisiones).

f'1 \bar "'"
g1 \bar ","
a1
[image of music]

LilyPond contempla el uso de notación del canto kievano y provee una línea divisoria especial de este tipo de música:

f'1 \bar "k"
[image of music]

Pueden verse más detalles de esta notación explicados en Tipografiado del canto kievano en notación cuadrada.

Hay varios símbolos de segno dentro del compás que se diferencian en su comportamiento en los saltos de línea:

\fixed c' {
  c4 4 4 4
  \bar "S"
  d4 4 4 4 \break
  \bar "S"
  e4 4 4 4
  \bar "S-|"
  f4 4 4 4 \break
  \bar "S-|"
  g4 4 4 4
  \bar "S-||"
  a4 4 4 4 \break
  \bar "S-||"
  b4 4 4 4
  \bar "S-S"
  c'4 4 4 4 \break
  \bar "S-S"
  d'1
}
[image of music]

Aunque se pueden insertar manualmente barras de compás con significado de repeticiones, no se reconocen como repeticiones por parte de LilyPond. Las secciones repetidas se introducen mejor utilizando las diversas instrucciones de repetición (see Repeticiones), que imprimen automáticamente las barras correspondientes y que se pueden personalizar (see Automatic bar lines).

Además se puede especificar ".|:-||", que equivale a ".|:" excepto en los saltos de línea, en que produce una doble barra al final de la línea y una repetición izquierda (de comienzo) al principio de la línea siguiente.

\fixed c' {
  c4 4 4 4
  \bar ".|:"
  d4 4 4 4 \break
  \bar ".|:"
  e4 4 4 4
  \bar ".|:-|"
  f4 4 4 4 \break
  \bar ".|:-|"
  g4 4 4 4
  \bar ".|:-||"
  a4 4 4 4 \break
  \bar ".|:-||"
  b4 4 4 4
  \bar ".|:-|."
  c'4 4 4 4 \break
  \bar ".|:-|."
  d'4 4 4 4
}
[image of music]

Para combinaciones de repeticiones con el símbolo de segno, existen seis variantes diferentes:

\fixed c' {
  g,4 4 4 4
  \bar ":|.S"
  a,4 4 4 4 \break
  \bar ":|.S"
  b,4 4 4 4
  \bar ":|.S-S"
  c4 4 4 4 \break
  \bar ":|.S-S"
  d4 4 4 4
  \bar "S.|:-S"
  e4 4 4 4 \break
  \bar "S.|:-S"
  f4 4 4 4
  \bar "S.|:"
  g4 4 4 4 \break
  \bar "S.|:"
  a4 4 4 4
  \bar "S.|:-|"
  b4 4 4 4 \break
  \bar "S.|:-|"
  c'4 4 4 4
  \bar "S.|:-||"
  d'4 4 4 4 \break
  \bar "S.|:-||"
  e'4 4 4 4
  \bar ":|.S.|:"
  f'4 4 4 4 \break
  \bar ":|.S.|:"
  g'4 4 4 4
  \bar ":|.S.|:-S"
  a'4 4 4 4 \break
  \bar ":|.S.|:-S"
  b'1
}
[image of music]

Muchas de las líneas divisorias de repetición y de segno que se han mostrado arriba se pueden insertar automáticamente con las instrucciones \repeat (see Repeticiones).

Se pueden definir tipos nuevos de líneas divisorias con \defineBarLine:

\defineBarLine tipo_de_barra #'(final comienzo extensión)

Dicho brevemente, el argumento tipo-de-barra especifica el glifo de línea divisoria que usar en mitad de un pentagrama, y sirve también como el nombre por el que este tipo de línea divisoria se referencia. Los otros argumentos especifican el glifo de la línea divisoria que usar al final o al principio de una línea, o en el trozo que abarca varios pentagramas. Establecer una cualquiera de eol-bar, bol-bar, o span-bar a #t significa usar el mismo tipo de barra de compás especificado por tipo-de-barra para la posición correspondiente. Establecerlas a #f significa no imprimir ninguna línea divisoria en la posición correspondiente.

Más detalladamente, el argumento tipo-de-barra es una cadena de caracteres que sirve un doble propósito: especifica el glifo de línea divisoria que imprimir cuando se produce en mitad de un pentagrama; e identifica el objeto de línea divisoria que se puede invocar con \bar tipo-de-barra. Debe tener la forma midglyph o midglyph-annotation (con un signo menos literal), donde annotation es una cadena de caracteres arbitraria, y midglyph es una cadena en la que cada uno de sus caracteres es el nombre de uno de los elementos predefinidos de líneas de compás que se listan más abajo. El glifo de línea divisoria resultante que usar en mitad de una línea es la concatenación de estos elementos. Por ejemplo, un tipo-de-barra de ";|" o bien de ";|-other" especifica una barra de compás compuesta que consiste en una línea de puntos (‘;’) emparejada a una línea continua (‘|’):

\defineBarLine ";|" #'(#t #t #t)
\defineBarLine ";|-other" #'(#f #f #f)
\fixed c' {
   \bar ";|" a1 \bar ";|" b1 \bar ";|-other" c'1 \bar ";|-other"
}
[image of music]

La annotation (‘other’ en el segundo ejemplo de arriba) se usa para diferenciar este tipo de barra de otros que tienen el mismo midglyph pero distinto comportamiento de salto de línea o de multi-pauta (por convenio, la cadena que se especifica en eol-bar se usa con frecuencia como la anotación, de manera que podríamos haber llamado al segundo ejemplo ‘";|-f"’.)

Los arguments eol-bar y bol-bar especifican la línea divisoria que imprimir al final de la línea y al principio de la siguiente, cuando \bar tipo-de-barra se produce juste en un salto de línea. bol-bar se aplica también cuando \bar tipo-de-barra se usa al comienzo de una partitura. El formato de estos argumentos es el mismo que el de tipo-de-barra. La cadena de caracteres de los elementos de la línea divisoria especifica el glifo de barra que imprimir en la posición de la línea correspondiente. Además, los argumentos pueden o bien ser #t como atajo para copiar el valor de tipo-de-barra, o bien #f para no imprimir ninguna línea divisoria. Por ejemplo, todos los tipos de barra de compás en este ejemplo imprimen un par de barras punteada/continua en el medio de una línea, pero tienen un comportamiento diferente en los finales y comienzos de los pentagramas:

%   dotted-solid everywhere
\defineBarLine  ";|"  #'( #t #t #t)
%   solid-bold at EOL, solid-solid at BOL
\defineBarLine  ";|-A" #'( "|."  "||"  #f )
%   dotted-solid at EOL, nothing at BOL
\defineBarLine  ";|-B" #'( #t  #f  #f )
%   nothing at EOL, dotted-solid at BOL
\defineBarLine  ";|-C" #'( #f  #t  #f )
\relative c'' {
  \bar ";|"  \textMark "\";|\""
  a1  \bar ";|-A"
  a1  \bar ";|-A"  \textEndMark "\";|-A\""  \break
  b1  \bar ";|-B" b \bar ";|-B"  \textEndMark "\";|-B\""  \break
  c1  \bar ";|-C" c \bar ";|-C"  \textEndMark "\";|-C\""   \break
  d1  \bar ";|" \textEndMark "\";|\""
}
[image of music]

Nota: las cadenas eol-bar o bol-bar pueden ser nombres de tipos de barra de compás definidos previamente. En un contexto de pentagrama único, esto no tiene importancia: los elementos de la barra de compás en la cadena dada se usan independientemente de cualquier aspecto de la barra definida que se ha nombrado en la cadena. Especialmente, en este contexto cualquier anotación se ignora. Sin embargo, en un sistema de varios pentagramas es importante que eol-bar y bol-bar se refieran a tipos de barra de compás previamente definidos (incluyendo el propio tipo-de-barra), o que sean #t o #f. Esto se explica en más detalle abajo.

El argumento span-bar solo tiene efecto en sistemas de varios pentagramas (see Agrupar pentagramas), en los que especifica qué imprimir entre las pautas agrupadas. Este argumento debe ser una cadena de elementos de línea divisoria, de la misma longitud que tipo-de-barra o más corto (los elementos adicionales se ignoran). Cada elemento se imprime en línea con el elemento correspondiente de tipo-de-barra. Se puede usar un carácter de espacio en blanco (‘ ’) para omitir el elemento de barra, pero hay que dejar espacio para él. Si se fija el valor de span-bar a #t hace lo mismo que el glifo para la mitad de la línea. Se se fija a #f, se omite la barra extendida, y si se fija a "" (la cadena vacía) se produce una barra extendida de anchura nula. He aquí algunos ejemplos:

\defineBarLine  ";|!-A"  #'(#t #t "!|")
\defineBarLine  ";|!-B"  #'(#t #t " !|")
\defineBarLine  ";|!-C"  #'(#t #t #t)
\defineBarLine  ";|!-D"  #'(#t #t #f)
\fixed c' {
  \new StaffGroup <<
    \new Staff {
      a1 \bar ";|!-A"
      b  \bar ";|!-B"
      c' \bar ";|!-C"
      d' \bar ";|!-D"
      e'
    }
    \new Staff {
      a1 b c' d' e'
    }
  >>
}
[image of music]

En los saltos de línea, en lugar de usar span-bar, los tipos de barra de compás referenciados por eol-bar y bol-bar se usan para determinar qué barra de extensión imprimir. En el contexto de un grupo de pautas, si eol-bar y bol-bar no se refieren a tipos de barra definidos, LilyPond emite una advertencia, y no se imprime ninguna barra de extensión en los saltos de línea. Se permite que eol-bar o bol-bar sean #f, en cuyo caso no se imprime ninguna barra de extensión en la posición de la línea correspondiente. Estos argumentos también pueden ser #t, o de forma equivalente, igual a tipo-de-barra, en cuyo caso el span-bar en curso determina la barra de extensión que imprimir en la posición correspondiente de la línea:

\defineBarLine  "!|-t"  #'(#t #t #t)
\defineBarLine  "|!-t"  #'(#t #t #t)
\defineBarLine  ";|!-bad"  #'("|!" "!|" #t)  % fails at line breaks
\defineBarLine  ";|!-good" #'("!|-t" "|!-t" #t)
\relative c'' {
  \new StaffGroup <<
    \new Staff {
      \bar ";|!-good"
      a1 \bar ";|!-good"
      % \bar ";|!-bad"     % "WARNING: No span bar glyph defined..."
      b1 \bar ";|!-good"
    }
    \new Staff {
      a1 b1
    }
  >>
}
[image of music]

Nota: si span-bar es una cadena, debe contener solamente elementos de línea divisoriao un espacio (‘ ’), y no una anotación como las que se permiten en otros argumentos. Si span-bar contiene una anotación, LilyPond emite una advertencia. La única excepción es que puede ser igual a tipo-de-barra, en cuyo caso no se emite ninguna advertencia incluso si tipo-de-barra incluye una anotación.

Más abajo se muestran todos los elementoe de línea divisoria que están disponibles. Casi todos ellos también tienen tipos de barra predefinidos (para los argumentos de \bar) que los referencian de forma individual. Ciertos elementos están orientados principalmente a que se combinen con otros y por tanto no tienen tipos de barra individual predefinidos.

\defineBarLine ":" #'(#f #t #f)
\defineBarLine "=" #'(#t #f #t)
\defineBarLine "[" #'(#f #t #f)
\defineBarLine "]" #'(#t #f #f)

\new Staff {
  s1 \bar "'"
  s1 \bar ","
  s1 \bar "|"
  s1 \bar "."
  s1 \bar "!"
  s1 \bar ";"
  s1 \bar ":"
  s1 \bar "k"
  s1 \bar "S"
  s1 \bar "="
  s1 \bar "["
  s1 \bar "]"
  s1 \bar ""
}
[image of music]

La línea divisoria "=" produce una barra de doble extensión para usarla en combinación con el símbolo de segno. No se recomienda usarla como una doble línea divisoria fina aislada; para ello es casi siempre preferible \bar "||".

Si se necesitan elementos adicionales, LilyPond provee una forma sencilla de definirlos. Para ver más información sobre cómo modificar o añadir barras de compás, consulte el archivo scm/bar-line.scm.

En las partituras con muchos pentagramas, una instrucción \bar en uno de ellos se aplica automáticamente a todos los demás. Las líneas resultantes se conectan entre los distintos pentagramas de un StaffGroup, PianoStaff o GrandStaff.

<<
  \new StaffGroup <<
    \new Staff \relative {
      e'4 d
      \bar "||"
      f4 e
    }
    \new Staff \relative { \clef bass c'4 g e g }
  >>
  \new Staff \relative { \clef bass c'2 c2 }
>>
[image of music]

El tipo de barra de compás usado para las barras insertadas automáticamente es "|". Esto se puede modificar en cualquier momento con ‘\set Timing.measureBarType = bartype’.

También es posible establecer diferentes tipos de barra en una partitura con varios pentagramas, usando una de las instrucciones o propiedades posibles que se explican abajo (see Automatic bar lines). Por descontado, esto puede dar lugar auna falta de concordancia entre líneas divisorias y líneas de extensión, debido a su distinta anchura.

Normalmente las líneas de compás están alineadas a la izquierda (obviando los símbolos de dos puntos como en las barras de repetición). Para hacer que estén alineadas a la derecha, se tiene que aplicar la instrucción

[\once] \override Contexto.BarLine.right-justified = ##t

, donde Contexto es un contexto apropiado para más de un pentagrama, como Score, StaffGroup, Grandstaff, etc.

\new StaffGroup
  <<
    \new Staff = "a" {
      b1  b b
      <<
        { \textMark "BarLines right-justified" b b }
        \new Staff \with { alignAboveContext = "b" }
        {
          \override StaffGroup.BarLine.right-justified = ##t
          b
          \section
        }
      >>
    }
    \new Staff = "b" { b \section }
    \new Staff = "c" { b b \section b b b \section }
  >>
[image of music]

Después de un salto de línea, las barras de compás nunca están alineadas a la derecha. Para las barras en medio del pentagrama alineadas a la derecha, el punto de ancla (usado para alinear BarNumber, RehearsalMark, etc.) se mueve de forma correspondiente.

Véase también

Referencia de la notación: Saltos de línea, Repeticiones, Agrupar pentagramas.

Archivos instalados: scm/bar-line.scm.

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: BarLine (creada al nivel de Staff (pentagrama)), SpanBar (a través de los pentagramas), Timing_translator (para las propiedades del contador de tiempo Timing).


Referencia de la notación de GNU LilyPond v2.25.30 (development-branch).