@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 345522f312430725cdae0d61acfa716ce08622ca
+ Translation of GIT committish: c610645cc9a77cba1a2798280965db142d649ac5
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.36"
+@c \version "2.15.32"
@node Entrada y salida generales
@chapter Entrada y salida generales
* Trabajar sobre los archivos de entrada::
* Controlar la salida::
* Salida MIDI::
+* Extraer información musical::
@end menu
@translationof Input structure
El formato principal de entrada para LilyPond son archivos de texto.
-Por convenio, el nombre de estos archivos termina en @file{@/.ly}.
+Por convenio, el nombre de estos archivos termina en @file{.ly}.
@menu
* Estructura de una partitura::
archivo fuente produce al menos un archivo de salida, y de forma
predeterminada el nombre del archivo de salida que se produce está
derivado del nombre del archivo de entrada, de forma que
-@file{fandangoforelephants@/.ly} da como resultado
-@file{fandangoforelephants@/.pdf}.
+@file{fandangoforelephants.ly} da como resultado
+@file{fandangoforelephants.pdf}.
(Para ver más detalles acerca de los bloques @code{\book}, consulte
@ref{Varias partituras en un libro}, @ref{Varios archivos de salida a
@funindex \book
Todos los movimientos y textos que aparecen en el mismo archivo
-@file{@/.ly} se tipografían normalmente en la forma de un solo archivo
+@file{.ly} se tipografían normalmente en la forma de un solo archivo
de salida.
@example
@}
@end example
-
@funindex \bookpart
Se pueden agrupar distintas piezas de música en partes de un libro
@}
@end example
+
@node Varios archivos de salida a partir de uno de entrada
@subsection Varios archivos de salida a partir de uno de entrada
@translationof Multiple output files from one input file
Si queremos varios archivos de salida a partir del mismo archivo
-@file{@/.ly}, podemos escribir varios bloques @code{\book}, donde cada
+@file{.ly}, podemos escribir varios bloques @code{\book}, donde cada
uno de estos bloques @code{\book} dará como resultado un archivo de
salida distinto. Si no especificamos ningún bloque @code{\book} en el
archivo, LilyPond trata implícitamente todo el archivo como un solo
@}
@end example
-en el archivo fuente @file{eightminiatures@/.ly}, produce
+en el archivo fuente @file{eightminiatures.ly}, produce
@itemize
@item
-@file{eightminiatures@/.pdf},
+@file{eightminiatures.pdf},
@item
-@file{eightminiatures@/-1@/.pdf} y
+@file{eightminiatures-1.pdf} y
@item
-@file{eightminiatures@/-2@/.pdf}.
+@file{eightminiatures-2.pdf}.
@end itemize
+
@node Nombres de los archivos de salida
@subsection Nombres de los archivos de salida
@translationof Output file names
nombres al producir varias salidas a partir de un único archivo fuente
de entrada. También podemos especificar nuestros propios sufijos para
cada bloque @code{\book}, de manera que podemos producir, por ejemplo,
-archivos con los nombres @file{eightminiatures@/-Romanze@/.pdf},
-@file{eightminiatures@/-Menuetto@/.pdf} y
-@file{eightminiatures@/-Nocturne@/.pdf} añadiendo una declaración
+archivos con los nombres @file{eightminiatures-Romanze.pdf},
+@file{eightminiatures-Menuetto.pdf} y
+@file{eightminiatures-Nocturne.pdf} añadiendo una declaración
@code{\bookOutputSuffix} dentro de cada bloque @code{\book}.
@example
@itemize
@item
-@file{Romanze@/.pdf},
+@file{Romanze.pdf},
@item
-@file{Menuetto@/.pdf} y
+@file{Menuetto.pdf} y
@item
-@file{Nocturne@/.pdf}.
+@file{Nocturne.pdf}.
@end itemize
+
@node Estructura del archivo
@subsection Estructura del archivo
@translationof File structure
@funindex \book
@funindex \bookpart
-Un archivo @file{@/.ly} puede contener cualquier número de expresiones
+Un archivo @file{.ly} puede contener cualquier número de expresiones
del nivel superior, donde una expresión del nivel superior es una de
las siguientes posibilidades:
(libro) único. Este comportamiento se puede cambiar estableciendo el
valor de la variable @code{toplevel-score-handler} en el nivel
superior. El @emph{handler} predeterminado se define en el archivo de
-inicio @file{@/.@/./@/scm/@/lily@/.scm}.
+inicio @file{../scm/lily.scm}.
@item
Un bloque @code{\book} combina lógicamente varios movimientos (es
para cada bloque @code{\book}, en el que se concatenan todos los
movimientos correspondientes. La única razón para especificar
explícitamente bloques @code{\book} en un archivo de entrada
-@file{@/.ly} es si queremos crear varios archivos de salida a partir de
+@file{.ly} es si queremos crear varios archivos de salida a partir de
un único archivo de entrada. Una excepción se da dentro de los
documentos de lilypond-book, en los que tenemos que escribir
explícitamente un bloque @code{\book} si queremos tener más de una
ejemplo. Se puede cambiar este comportamiento estableciendo el valor
de la variable @code{toplevel-book-handler} en el nivel superior. El
@emph{handler} predeterminado se define en el archivo de inicio
-@file{@/.@/./@/scm/@/lily@/.scm}.
+@file{../scm/lily.scm}.
@item
Un bloque @code{\bookpart}. Un libro puede dividirse en varias
@{ c'4 d' e'2 @}
@}
@}
+ \layout @{ @}
@}
- \layout @{ @}
- \header @{ @}
+ \paper @{ @}
+ \header @{ @}
@}
@end example
Se puede cambiar este comportamiento estableciendo el valor de la
variable @code{toplevel-music-handler} en el nivel más alto. El
@emph{handler} predeterminado se define en el archivo de inicio
-@file{@/.@/./@/scm/@/lily@/.scm}.
+@file{../scm/lily.scm}.
@item
Un texto de marcado, por ejemplo una estrofa
@item A continuación de las instrucciones y variables, es decir, todos los elementos
que comienzan con un signo @code{\} de barra invertida.
@item A continuación de todo elemento que se deba interpretar como expresión
-de Scheme, es decir, todo elemento que comience por un signo @code{#}.
+de Scheme, es decir, todo elemento que comience por un signo@tie{}@code{#}.
@item Para separar los elementos de una expresión de Scheme.
@item Dentro de @code{lyricmode} para separar todos los términos de las instrucciones
@code{\override} y @code{\set}. Concretamente, hay que usar espacios
compositor; ciertas piezas tienen mucha más información.
@menu
-* Crear títulos::
-* Títulos personalizados::
-* Referencias a números de página::
+* Crear títulos cabeceras y pies de página::
+* Cabeceras pies y títulos personalizados::
+* Crear notas al pie::
+* Referencia a números de página::
* Índice general::
@end menu
-@node Crear títulos
-@subsection Crear títulos
-@translationof Creating titles
+@node Crear títulos cabeceras y pies de página
+@subsection Crear títulos, cabeceras y pies de página
+@translationof Creating titles headers and footers
-Se crean títulos para cada uno de los bloques @code{\score} así como
-para todo el archivo de entrada (o bloque @code{\book}, libro) y las
-partes de libro (creadas mediante bloques @code{\bookpart}).
+@menu
+* Explicación de los bloques de títulos::
+* Presentación predeterminada de los bloques de título del libro y la partitura::
+* Disposición predeterminada de las cabeceras y pies de página::
+@end menu
-El contenido de cada título se extrae a partir de los bloques
-@code{\header} (cabecera). El bloque de cabecera de un libro
-contempla lo siguiente:
-@table @code
-@funindex dedicatoria
-@item dedication
-El dedicatario de la música, centrado en lo alto de la primera página.
+@node Explicación de los bloques de títulos
+@unnumberedsubsubsec Explicación de los bloques de títulos
+@translationof Title blocks explained
-@funindex title
-@item title
-El título de la música, centrado justo debajo de la
-dedicatoria.
+@c TODO: figure out how \bookpart titles work
-@funindex subtitle
-@item subtitle
-Subtítulo, centrado debajo del título.
+Existen dos clases de bloques de títulos: el bloque principal de
+títulos que aparece encima del primer bloque @code{\score} de un
+libro, y los bloques individuales de título que aparecen dentro de
+cada bloque @code{\score}. Los campos de texto para los dos tipos de
+bloque se introducen mediante un bloque @code{\header}.
-@funindex subsubtitle
-@item subsubtitle
-Sub-subtítulo, centrado debajo del subtítulo.
+Si el libro tiene una única partitura, el bloque @code{\header} se
+puede situar dentro o fuera del bloque @code{\score}.
-@funindex poet
-@item poet
-Nombre del poeta, a la izquierda, debajo del subtítulo.
+@warning{Recuerde que al añadir un bloque @bs{}@code{header} dentro de
+un bloque @bs{}@code{score}, la expresión musical debe aparecer antes
+del bloque @bs{}@code{header}.}
-@funindex composer
-@item composer
-Nombre del compositor, a la derecha, debajo del subtítulo.
+@lilypond[papersize=a5,quote,verbatim,noragged-right]
+\header {
+ title = "SUITE I."
+ composer = "J. S. Bach."
+}
-@funindex meter
-@item meter
-Texto de la medida, a la izquierda, debajo del poeta.
+\score {
+ \new Staff \relative g, {
+ \clef bass
+ \key g \major
+ \repeat unfold 2 { g16( d' b') a b d, b' d, } |
+ \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
+ }
+ \header {
+ piece = "Prélude."
+ }
+}
-@funindex opus
-@item opus
-Nombre del Opus, a la derecha, debajo del compositor.
+\score {
+ \new Staff \relative b {
+ \clef bass
+ \key g \major
+ \partial 16 b16 |
+ <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
+ d16( b g fis) g( e d c) b(c d e) fis( g a b) |
+ }
+ \header {
+ piece = "Allemande."
+ }
+}
+@end lilypond
-@funindex arranger
-@item arranger
-Nombre del arreglista, a la derecha, debajo del Opus.
+Los campos de texto extraídos del bloque prinicipal de título de un
+libro se pueden imprimir en todos los bloques @code{\score}, o
+suprimirse manualmente:
-@funindex instrument
-@item instrument
-Nombre del instrumento, centrado, debajo del arreglista. También
-aparece centrado en lo alto de cada página (aparte de la primera).
+@lilypond[papersize=a5,quote,verbatim,noragged-right]
+\book {
+ \paper {
+ print-all-headers = ##t
+ }
+ \header {
+ title = "DAS WOHLTEMPERIRTE CLAVIER"
+ subtitle = "TEIL I"
+ % Do not display the tagline for this book
+ tagline = ##f
+ }
+ \markup { \vspace #1 }
+ \score {
+ \new PianoStaff <<
+ \new Staff { s1 }
+ \new Staff { \clef "bass" s1 }
+ >>
+ \header {
+ title = "PRAELUDIUM I"
+ opus = "BWV 846"
+ % Do not display the subtitle for this score
+ subtitle = ##f
+ }
+ }
+ \score {
+ \new PianoStaff <<
+ \new Staff { s1 }
+ \new Staff { \clef "bass" s1 }
+ >>
+ \header {
+ title = "FUGA I"
+ subsubtitle = "A 4 VOCI"
+ opus = "BWV 846"
+ % Do not display the subtitle for this score
+ subtitle = ##f
+ }
+ }
+}
+@end lilypond
-@funindex piece
-@item piece
-Nombre de la pieza, a la izquierda, debajo del instrumento.
+@seealso
+Referencia de la notación:
+@ref{Estructura del archivo},
+@ref{Personalización de los bloques de título}.
+
+
+@node Presentación predeterminada de los bloques de título del libro y la partitura
+@unnumberedsubsubsec Presentación predeterminada de los bloques de título del libro y la partitura
+@translationof Default layout of book and score title blocks
+
+La disposición y formato de los bloques de título están controlados
+por medio de dos variables de @code{\paper}: @code{bookTitleMarkup}
+para el bloque de título @code{\header} principal y
+@code{scoreTitleMarkup} para los bloques @code{\header} individuales
+dentro de un bloque @code{\score}.
+
+@lilypond[papersize=a6,quote,verbatim,noragged-right]
+\header {
+ % The following fields are centered
+ dedication = "Dedication"
+ title = "Title"
+ subtitle = "Subtitle"
+ subsubtitle = "Subsubtitle"
+ instrument = "Instrument"
+
+ % The following fields are left-aligned on the left side
+ poet = "Poet"
+ meter = "Meter"
+
+ % The following fields are right-aligned on the right side
+ composer = "Composer"
+ arranger = "Arranger"
+}
-@cindex página, saltos, forzar
-@funindex breakbefore
-@item breakbefore
-Esto fuerza que el título comience sobre una página nueva (establézcalo a ##t o a ##f).
+\score {
+ { s1 }
+ \header {
+ % The following fields are placed at opposite ends of the same line
+ piece = "Piece"
+ opus = "Opus"
+ }
+}
+@end lilypond
-@funindex copyright
-@item copyright
-Aviso de Copyright, centrado en la parte inferior de la primera
-página. Para insertar el símbolo de copyright, consulte
-@ref{Codificación del texto}.
+@c Is the bit about \null markups true? -mp
-@funindex tagline
-@item tagline
-Cartel de propósito general en el pie de página, centrado al final de la última.
+Los campos de texto que se dejan sin establecer dentro de un bloque
+@code{\header} se sustituyen por elementos de marcado nulos
+@code{\null} de manera que no ocupen espacio innecesariamente.
-@end table
+Los ajustes predeterminados para @code{scoreTitleMarkup} sitúan los
+campos de texto @code{piece} y @code{opus} en extremos opuestos de la
+misma línea.
-A continuación presentamos una demostración de todos los campos que
-están disponibles. Fíjese en que puede utilizar en la cabecera
-cualquier instrucción de marcado de texto (Véase @ref{Formatear el texto}).
+@cindex breakbefore
-@lilypond[quote,verbatim,line-width=11.0\cm]
-\paper {
- line-width = 9.0\cm
- paper-height = 10.0\cm
-}
+Utilice la variable @code{breakbefore} dentro de un bloque
+@code{\header} que está propiamente dentro de un bloque @code{\score}
+para hacer que los títulos del bloque @code{\header} del nivel
+superior aparezcan ocupando toda la primera página, empezando la
+música (definida en el bloque @code{\score}) en la página siguiente.
+@lilypond[papersize=a8landscape,verbatim,noragged-right]
\book {
\header {
- dedication = "dedicated to me"
- title = \markup \center-column { "Title first line" "Title second line,
-longer" }
- subtitle = "the subtitle,"
- subsubtitle = #(string-append "subsubtitle LilyPond version "
-(lilypond-version))
- poet = "Poet"
- composer = \markup \center-column { "composer" \small "(1847-1973)" }
- texttranslator = "Text Translator"
- meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge
-"r" }
- arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize
-#-2.5 "r" \fontsize #-5.3 "a" \fontsize #7.5 "nger" }
- instrument = \markup \bold \italic "instrument"
- piece = "Piece"
+ title = "This is my Title"
+ subtitle = "This is my Subtitle"
+ copyright = "This is the bottom of the first page"
}
-
\score {
- { c'1 }
+ \repeat unfold 4 { e'' e'' e'' e'' }
\header {
- piece = "piece1"
- opus = "opus1"
+ piece = "This is the Music"
+ breakbefore = ##t
+ }
+ }
+}
+@end lilypond
+
+@seealso
+Manual de aprendizaje:
+@rlearning{Cómo funcionan los archivos de entrada de LilyPond}
+
+Referencia de la notación:
+@ref{Estructura del archivo}.
+
+Archivos de inicio:
+@file{ly/titling-init.ly}.
+
+
+@node Disposición predeterminada de las cabeceras y pies de página
+@unnumberedsubsubsec Disposición predeterminada de las cabeceras y pies de página
+@translationof Default layout of headers and footers
+
+Las @emph{cabeceras} y los @emph{pies} de página son líneas de texto
+que aparecen en la parte más alta y en la más baja de las páginas
+separadas del texto principal de un libro. Se controlan mediante las
+siguientes variables de @code{\paper}:
+
+@itemize
+@item @code{oddHeaderMarkup} (marcado de cabecera impar)
+@item @code{evenHeaderMarkup} (marcado de cabecera par)
+@item @code{oddFooterMarkup} (marcado de pie impar)
+@item @code{evenFooterMarkup} (marcado de pie par)
+@end itemize
+
+Estas variables de marcado sólo pueden acceder a los campos de texto
+extraídos de bloques @code{\header} del nivel superior (que se aplican
+a todas las partituras del libro) y se definen en el archivo
+@file{ly/titling-init.ly}. De forma predeterminada:
+
+@itemize
+
+@item
+los números de página se sitúan automáticamente en el extremo superior
+izquierdo (si es par) o superior derecho (si es impar), a partir de la
+segunda página.
+
+@item
+el campo de texto @code{instrument} se sitúa en el centro en cada
+página, a partir de la segunda página.
+
+@item
+el texto de @code{copyright} se centra en la parte baja de la primera
+página.
+
+@item
+la línea @code{tagline} se centra al final de la última página, y
+debajo del texto de @code{copyright} si sólo hay una página.
+
+@end itemize
+
+@lilypond[papersize=a8landscape]
+\book {
+ \score {
+ \relative c' {
+ c4 d e f
}
}
- \markup {
- and now...
+}
+@end lilypond
+
+La línea de etiqueta tagline predeterminada se puede cambiar añadiendo un campo
+@code{tagline} en el bloque @code{\header} del nivel superior.
+
+@lilypond[papersize=a8landscape,verbatim]
+\book {
+ \header {
+ tagline = "... music notation for Everyone"
}
\score {
- { c'1 }
- \header {
- piece = "piece2"
- opus = "opus2"
+ \relative c' {
+ c4 d e f
}
}
}
@end lilypond
-Como se mostró anteriormente, puede usar varios bloques
-@code{\header}. Cuando los mismos campos aparecen en distintos
-bloques, tiene validez el último en definirse. A continuación un
-breve ejemplo.
+Para eliminar la línea @code{tagline}, establezca su valor a
+@code{##f}.
+
+
+@node Cabeceras pies y títulos personalizados
+@subsection Cabeceras, pies y títulos personalizados
+@translationof Custom headers footers and titles
+
+@c TODO: somewhere put a link to header spacing info
+@c (you'll have to explain it more in NR 4).
+
+@menu
+* Formateo personalizado del texto de los bloques de título::
+* Personalización de los bloques de título::
+* Disposición personalizada de cabeceras y pies de página::
+@end menu
+
+
+@node Formateo personalizado del texto de los bloques de título
+@unnumberedsubsubsec Formateo personalizado del texto de los bloques de título
+@translationof Custom text formatting for title blocks
+
+Se pueden usar instrucciones @code{\markup} estándar para personalizar
+el texto de cualquier cabecera, pie o título dentro del bloque
+@code{\header}.
+
+@lilypond[quote,verbatim,noragged-right]
+\score {
+ { s1 }
+ \header {
+ piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
+ subtitle = \markup { \italic "(Excerpt)" }
+ }
+}
+@end lilypond
+
+@seealso
+Referencia de la notación:
+@ref{Formatear el texto}.
+
+
+@node Personalización de los bloques de título
+@unnumberedsubsubsec Personalización de los bloques de título
+@translationof Custom layout for title blocks
+
+Las instrucciones @code{\markup} dentro del bloque @code{\header} son
+útiles para dar un formato simple al texto, pero no permiten un
+control preciso sobre la colocación de los títulos. Para personalizar
+la colocación de los campos de texto, use una o las dos variables de
+@code{\paper} siguientes:
+
+@itemize
+@item @code{bookTitleMarkup} (marcado de título del libro)
+@item @code{scoreTitleMarkup} (marcado de título de la partitura)
+@end itemize
+
+Estas variables de marcado se estudian en
+@ref{Presentación predeterminada de los bloques de título del libro y la partitura}.
+
+Los ajustes predeterminados para @code{scoreTitleMarkup} tal y como
+están definidos en el archivo @file{ly/titling-init.ly} son:
@example
-\header @{
- composer = "Compositor"
-@}
-\header @{
- piece = "Pieza"
-@}
-\score @{
- \new Staff @{ c'4 @}
- \header @{
- piece = "Otra pieza" % sobreescribe a la anterior
+scoreTitleMarkup = \markup @{ \column @{
+ \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
+ \fill-line @{
+ \fromproperty #'header:piece
+ \fromproperty #'header:opus
@}
@}
+@}
@end example
-Si define la cabecera @code{\header} dentro del bloque @code{\score},
-por lo general se imprimirán solamente las cabeceras @code{piece} y
-@code{opus}. Fíjese en que la expresión musical debe aparecer antes
-del @code{\header}.
+Esto sitúa los campos de texto @code{piece} y @code{opus} en extremos
+opuestos de la misma línea:
-@lilypond[quote,verbatim,line-width=11.0\cm]
+@lilypond[quote,verbatim,noragged-right]
\score {
- { c'4 }
+ { s1 }
\header {
- title = "title" % not printed
- piece = "piece"
- opus = "opus"
+ piece = "PRAELUDIUM I"
+ opus = "BWV 846"
}
}
@end lilypond
-@funindex print-all-headers
-@noindent
-Se puede cambiar este comportamiento (e imprimir todas las cabeceras
-cuando la cabecera @code{\header} está definida dentro del bloque
-@code{\score}) mediante la utilización de
+Este ejemplo redefine @code{scoreTitleMarkup} de manera que el campo
+de texto @code{piece} aparece centrado y en un tipo de letra grande y
+en negrita.
-@example
-\paper@{
- print-all-headers = ##t
-@}
-@end example
+@lilypond[papersize=a5,quote,verbatim,noragged-right]
+\book {
+ \paper {
+ indent = 0\mm
+ scoreTitleMarkup = \markup {
+ \fill-line {
+ \null
+ \fontsize #4 \bold \fromproperty #'header:piece
+ \fromproperty #'header:opus
+ }
+ }
+ }
+ \header { tagline = ##f }
+ \score {
+ { s1 }
+ \header {
+ piece = "PRAELUDIUM I"
+ opus = "BWV 846"
+ }
+ }
+}
+@end lilypond
+
+Los campos de texto reservados normalmente para el bloque principal de
+título se pueden insertar dentro de los bloques de título de las
+partituras individuales con la variable @code{print-all-headers}
+establecida dentro del bloque @code{\paper}. Una desventaja de la
+utilización de este método es que los campos de texto que están
+orientados específicamente para el bloque @code{\header} del nivel
+superior han de suprimirse manualmente en cada uno de los bloques
+@code{\score}. Véase @ref{Explicación de los bloques de títulos}.
+
+Para evitarlo, añada el campo de texto deseado a la definición de
+@code{scoreTitleMarkup}. En el ejemplo siguiente, el campo de texto
+@code{composer} (asociado normalmente con @code{bookTitleMarkup}) se
+añade a @code{scoreTitleMarkup}, permitiendo que cada partitura
+muestre un compositor diferente:
+
+@lilypond[papersize=a5,quote,verbatim,noragged-right]
+\book {
+ \paper {
+ indent = 0\mm
+ scoreTitleMarkup = \markup {
+ \fill-line {
+ \null
+ \fontsize #4 \bold \fromproperty #'header:piece
+ \fromproperty #'header:composer
+ }
+ }
+ }
+ \header { tagline = ##f }
+ \score {
+ { s1 }
+ \header {
+ piece = "MENUET"
+ composer = "Christian Petzold"
+ }
+ }
+ \score {
+ { s1 }
+ \header {
+ piece = "RONDEAU"
+ composer = "François Couperin"
+ }
+ }
+}
+@end lilypond
+
+También podemos crear nuestros propios campos de texto personalizados,
+y referirnos a ellos en la definición del elemento de marcado.
+
+@lilypond[papersize=a5,quote,verbatim,noragged-right]
+\book {
+ \paper {
+ indent = 0\mm
+ scoreTitleMarkup = \markup {
+ \fill-line {
+ \null
+ \override #`(direction . ,UP) {
+ \dir-column {
+ \center-align \fontsize #-1 \bold
+ \fromproperty #'header:mycustomtext %% User-defined field
+ \center-align \fontsize #4 \bold
+ \fromproperty #'header:piece
+ }
+ }
+ \fromproperty #'header:opus
+ }
+ }
+ }
+ \header { tagline = ##f }
+ \score {
+ { s1 }
+ \header {
+ piece = "FUGA I"
+ mycustomtext = "A 4 VOCI" %% User-defined field
+ opus = "BWV 846"
+ }
+ }
+}
+@end lilypond
-@cindex copyright
-@cindex tagline
+@seealso
+Referencia de la notación:
+@ref{Explicación de los bloques de títulos}.
-El pie de página por omisión se encuentra vacío, excepto para la
-primera página, en la que se inserta el campo de @code{copyright}
-extraído del @code{\header}, y para la última página, en la que se
-escribe el cartel @code{tagline} sacado del bloque @code{\header}. La
-línea por omisión para este cartel es @qq{Music engraving by LilyPond
-(@var{version})}.@footnote{Las partituras bien tipografiadas son una
-magnífica promoción para nosotros, así que por favor, si puede,
-conserve intacta la línea del letrero.}
-Las cabeceras se pueden quitar completamente estableciendo su valor a
-falso.
+@node Disposición personalizada de cabeceras y pies de página
+@unnumberedsubsubsec Disposición personalizada de cabeceras y pies de página
+@translationof Custom layout for headers and footers
-@example
-\header @{
- tagline = ##f
- composer = ##f
-@}
-@end example
+@c can make-header and make-footer be removed from
+@c paper-defaults-init.ly? -mp
+Las instrucciones @code{\markup} dentro del bloque @code{\header} son
+de utilidad para dar formato al texto de una manera sencilla, pero no
+permiten un control preciso sobre la colocación de las cabeceras y los
+pies de página. Para personalizar la colocación de los campos de
+texto, use una o más de las siguientes variables de @code{\paper}:
-@node Títulos personalizados
-@subsection Títulos personalizados
-@translationof Custom titles
+@itemize
+@item @code{oddHeaderMarkup} (marcado de encabezamiento impar)
+@item @code{evenHeaderMarkup} (marcado de encabezamiento par)
+@item @code{oddFooterMarkup} (marcado de pie de página impar)
+@item @code{evenFooterMarkup} (marcado de pie de página par)
+@end itemize
+
+El ejemplo siguiente centra los números de página en la parte baja de
+las páginas. En primer lugar, los ajustes predeterminados para
+@code{oddHeaderMarkup} y @code{evenHeaderMarkup} se eliminan
+definiéndolos como un marcado @emph{nulo}. Después de esto, se
+redefine @code{oddFooterMarkup} con el número de página centrado.
+Finalmente, @code{evenFooterMarkup} recibe la misma disposición
+definiéndola como @code{\oddFooterMarkup}:
+
+@lilypond[papersize=a8,quote,verbatim,noragged-right]
+\book {
+ \paper {
+ print-page-number = ##t
+ print-first-page-number = ##t
+ oddHeaderMarkup = \markup \null
+ evenHeaderMarkup = \markup \null
+ oddFooterMarkup = \markup {
+ \fill-line {
+ \on-the-fly #print-page-number-check-first
+ \fromproperty #'page:page-number-string
+ }
+ }
+ evenFooterMarkup = \oddFooterMarkup
+ }
+ \score {
+ \new Staff { s1 \break s1 \break s1 }
+ }
+}
+@end lilypond
+
+@seealso
+Referencia de la notación:
+@ref{Explicación de los bloques de títulos},
+@ref{Presentación predeterminada de los bloques de título del libro y la partitura}.
-Una opción más avanzada es cambiar las definiciones de las variables
-siguientes dentro del bloque @code{\paper}. El archivo de inicio
-@file{@/.@/./@/ly/@/titling@/-init@/.ly} ofrece un listado de la
-disposición predeterminada.
-@table @code
-@funindex bookTitleMarkup
-@item bookTitleMarkup
- Es el título que se escribe en lo alto del documento de salida
-completo. Normalmente contiene el compositor y el título de la pieza.
+@node Crear notas al pie
+@subsection Crear notas al pie
+@translationof Creating footnotes
-@funindex scoreTitleMarkup
-@item scoreTitleMarkup
- Es el título que se coloca por encima de un bloque @code{\score}.
-normalmente contiene el nombre del movimiento (campo @code{piece}).
+Se pueden crear dos tipos de notas al pie: automáticas y manuales.
-@funindex oddHeaderMarkup
-@item oddHeaderMarkup
- Es el encabezamiento de las páginas de numeración impar.
+@menu
+* Panorámica de las notas al pie::
+* Notas al pie automáticas::
+* Notas al pie manuales::
+@end menu
-@funindex evenHeaderMarkup
-@item evenHeaderMarkup
- Es el encabezamiento de las páginas de numeración par. Si se deja
- sin especificar, se usará el encabezamiento de las páginas impares.
- De forma predeterminada, los encabezamientos se definen de tal forma
-que el número de página está en el borde exterior, y el instrumento
-está centrado.
+@node Panorámica de las notas al pie
+@unnumberedsubsubsec Panorámica de las notas al pie
+@translationof Footnotes overview
-@funindex oddFooterMarkup
-@item oddFooterMarkup
- Es el pie de las páginas de numeración impar.
+Las notas al pie automáticas crean indicadores numéricos
+incrementales; las notas al pie manuales, en cambio, permiten crear un
+indicador personalizado. Se pueden anotar todos los grobs (objetos
+gráficos), elementos @code{\markup} del nivel superior y las notas de
+los acordes.
-@funindex evenFooterMarkup
-@item evenFooterMarkup
- Es el pie de las páginas de numeración par. Si se deja sin
- especificar, se usará en su lugar el encabezamiento de las páginas
- impares.
+El orden en que se dibuja cada grob determina el orden en que se crean
+los indicadores (y por tanto las notas al pie) durante la compilación.
- De forma predeterminada, el pie de página tiene el aviso de
-copyright en la primera página, y el cartel @code{tagline} en la
-última.
-@end table
+@node Notas al pie automáticas
+@unnumberedsubsubsec Notas al pie automáticas
+@translationof Automatic footnotes
-@cindex \paper
-@cindex encabezamiento
-@cindex header
-@cindex pie
-@cindex disposición de la página
-@cindex títulos
+Las notas al pie automáticas aceptan tres argumentos; el @var{Objeto de
+presentación} que anotar, la posición @samp{(x . y)} del indicador y un
+elemento de @code{\markup} que aparecerá en la nota, en la parte
+inferior de la página.
-La definición siguiente pone el título en el extremo izquierdo, y el
-compositor en el extremo derecho sobre una única línea.
+La instrucción @code{\footnote} debe ir @emph{antes} del grob
+al que se adjunta la nota al pie:
-@verbatim
-\paper {
- bookTitleMarkup = \markup {
- \fill-line {
- \fromproperty #'header:title
- \fromproperty #'header:composer
- }
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ \footnote #'(0.5 . -2) #'NoteHead
+ \markup { The first note }
+ a'4 b8
+ \footnote #'(0.5 . 1) #'NoteHead
+ \markup { The third note }
+ e c4 d4
}
}
-@end verbatim
+@end lilypond
+
+Para anotar las notas de un acorde, la instrucción
+@code{\footnote} debe ir @emph{después} de la nota a la que se
+quiere adjuntar la nota al pie como un @code{TextScript}:
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ <
+ c-\footnote #'(1 . -1.25) "Here is a C"
+ es-\footnote #'(2 . -0.25) \markup { \italic "An E-flat" }
+ g-\footnote #'(2 . 3) \markup { \bold "This is a G" }
+ >1
+ }
+}
+@end lilypond
+
+@warning{Cuando las notas al pie tienen la misma posición vertical, se
+imprimen en orden de descendencia: cuando más alta es la nota al pie,
+más arriba está en la lista.}
+
+He aquí unos ejemplos más de grobs con notas al pie, que
+muestran también la posición relativa de las notas respecto de la
+línea informativa y la línea de copyright.
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { copyright = \markup { "Copyright 1970" } }
+ \relative c' {
+ \footnote #'(-3 . 0) #'DynamicText
+ \markup { \bold Forte }
+
+ \footnote #'(0 . 1.5) #'Slur
+ \markup { A slur }
+ a'4\f(
+
+ \footnote #'(0 . -2) #'Beam
+ \markup { Beam }
+ b8)[ e]
+
+ \footnote #'(1 . -1) #'Stem
+ \markup { \teeny { This is a stem } }
+ c4
+
+ \footnote #'(0 . 0.5) #'AccidentalCautionary
+ \markup \italic { A cautionary accidental }
+
+ \footnote #'(0.5 . -0.5) #'TextScript
+ \markup \italic { Slow Down }
+ dis?4_"rit."
+ }
+}
+@end lilypond
+
+Para los elementos @code{\markup} del nivel superior, se requiere el
+uso de la instrucción @code{\auto-footnote}:
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \markup { \auto-footnote "A simple tune" \italic "By me" }
+ \relative c' {
+ a'4 b8 e c4 d
+ }
+}
+@end lilypond
+
+
+@node Notas al pie manuales
+@unnumberedsubsubsec Notas al pie manuales
+@translationof Manual footnotes
+
+@cindex notas al pie manuales
+
+Las notas al pie manuales toman cuatro argumentos;
+el @var{objeto de presentación} que se va a anotar,
+la posición @samp{(x . y)} del indicador, y dos instrucciones
+@code{\markup}; la primera es el indicador adjunto a la nota o grob, y
+la segunda es la nota al pie, en la parte inferior de la página.
+
+Como las notas al pie automáticas, las instrucciones
+@code{\footnote} manuales deben ir @emph{antes} del grob
+que la nota al pie está anotando y adjuntada como un
+@code{TextScript}:
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ a'4-\footnote
+ "1" #'(0.5 . -2) #'NoteHead \markup { \italic "1. The first note" }
+ b8
+ e-\footnote
+ \markup { \bold "2" } #'(0.5 . 1) #'NoteHead "2. The second note"
+ c4
+ d\p-\footnote "3" #'(0.5 . -1) #'DynamicText "3. Piano"
+ }
+}
+@end lilypond
+
+Para anotar notas de acordes con notas al pie manuales:
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ <
+ c-\footnote "1" #'(1 . -1.25) "1. C"
+ es-\footnote
+ \markup { \bold "b" } #'(2 . -0.25) "b. E-flat"
+ g-\footnote "3" #'(2 . 3) \markup { \italic "iii. G" }
+ >1
+ }
+}
+@end lilypond
+
+@warning {Cuando las notas al pie tienen la misma posición vertical, las
+anotaciones se imprimen en orden de descendencia; cuanto más alta es
+la nota al pie, más arriba está en la lista.}
+
+He aquí algunos ejemplos de grobs anotados manualmente, mostrando
+también la posición relativa de las notas al pie respecto a la línea
+informativa a la de copyright:
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ \footnote
+ \markup { \teeny 1 } #'(-3 . 0) #'DynamicText
+ \markup { 1. \bold Forte }
+
+ \footnote
+ \markup { \teeny b } #'(0 . 1.5) #'Slur
+ \markup { b. A slur }
+ a'4\f(
+
+ \footnote
+ \markup { \teeny 3 } #'(0 . -2) #'Beam
+ \markup { 3. Beam }
+ b8)[ e]
+
+ \footnote
+ \markup { 4 } #'(1 . -1) #'Stem
+ \markup { \bold 4. { This is a stem } }
+ c4
+
+ \footnote
+ \markup \concat \teeny { "sharp (v)" }
+ #'(0 . 0.5) #'AccidentalCautionary
+ \markup \italic { v. A cautionary accidental }
+
+ \footnote
+ \markup \concat \teeny { "a" } #'(0.5 . -0.5) #'TextScript
+ \markup \italic { a. Slow Down }
+ dis?4_"rit."
+
+ \breathe
+ \footnote
+ \markup { \teeny \musicglyph #"rests.4" }
+ #'(1.5 . -0.25) #'BreathingSign
+ \markup { \null }
+ }
+}
+@end lilypond
+
+Para anotar manualmente un elemento @code{\markup} del nivel superior:
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \markup { "A simple tune" \footnote "*" \italic "* By me" }
+ \relative c' {
+ a'4 b8 e c4 d4
+ }
+}
+@end lilypond
+
+@seealso
+Manual de aprendizaje:
+@rlearning{Objetos e interfaces}.
+
+Referencia de la notación:
+@ref{Globos de ayuda},
+@ref{Disposición de la página},
+@ref{Indicaciones de texto},
+@ref{Guiones de texto},
+@ref{Títulos y cabeceras}.
+
+Referencia de funcionamiento interno:
+@rinternals{FootnoteEvent},
+@rinternals{FootnoteItem},
+@rinternals{FootnoteSpanner},
+@rinternals{Footnote_engraver}.
-@node Referencias a números de página
-@subsection Referencias a números de página
+@knownissues
+Varias notas al pie en la misma página solo pueden ir apiladas unas
+sobre otras, y no se pueden imprimir en la misma línea. Las notas al
+pie no se pueden adjuntar a elementos de silencio multicompás
+@code{MultiMeasureRests}, y pueden colisionar con el objeto
+@code{Staff}, objetos de @code{\markup} y otras anotaciones
+@code{footnote}. Cuando use una cualquiera de las instrucciones
+@code{footnote} se requiere un bloque @code{\paper} que contenga
+@code{footnote-auto-number = ##f}.
+
+
+@node Referencia a números de página
+@subsection Referencia a números de página
@translationof Reference to page numbers
-Se puede marcar un lugar determinado de una partitura utilizando la
-instrucción @code{\label} (etiqueta), bien en lo alto de la estructura
-o bien dentro de la música. Posteriormente se puede hacer referencia
-a esta etiqueta dentro de un elemento de marcado, para obtener el
-número de la página en que se encuentra la marca, usando la
-instrucción de marcado @code{\page-ref}.
+Un lugar determinado de una partitura puede señalizarse usando la
+instrucción @code{\label} (etiqueta), ya sea en el nivel superior o
+dentro de la música. Podemos referirnos a esta etiqueta más tarde
+dentro de un elemento de marcado, para obtener el número de la página
+en la que se sitúa el punto señalizado, usando la instrucción de
+marcado @code{\page-ref}.
-@lilypond[verbatim,line-width=11.0\cm]
+@lilypond[verbatim]
\header { tagline = ##f }
\book {
\label #'firstScore
c'1
}
}
-
\markup { The first score begins on page \page-ref #'firstScore "0" "?" }
\markup { Mark A is on page \page-ref #'markA "0" "?" }
}
páginas, el medidor puede ser "00", es decir, un número de dos
dígitos.
-
@predefined
@funindex \label
@code{\label},
@translationof Table of contents
Se puede insertar un índice general o tabla de contenidos utilizando
-la instrucción @code{\markuplines \table-of-contents}. Los elementos
+la instrucción @code{\markuplist \table-of-contents}. Los elementos
que deben aparecer en la tabla de contenidos se introducen con la
instrucción @code{\tocItem}, que se puede usar en el nivel más alto de
la jerarquía del código, o dentro de una expresión musical.
@verbatim
-\markuplines \table-of-contents
+\markuplist \table-of-contents
\pageBreak
\tocItem \markup "Primera partitura"
(add-toc-item! 'tocActMarkup text))
\book {
- \markuplines \table-of-contents
+ \markuplist \table-of-contents
\tocAct \markup { Atto Primo }
\tocItem \markup { Coro. Viva il nostro Alcide }
\tocItem \markup { Cesare. Presti omai l'Egizzia terra }
}
@end lilypond
+Se pueden añadir puntos de relleno entre un elemento y su número de página:
+
+@lilypond[verbatim,quote]
+\header { tagline = ##f }
+\paper {
+ tocItemMarkup = \tocItemWithDotsMarkup
+}
+
+\book {
+ \markuplist \table-of-contents
+ \tocItem \markup { Allegro }
+ \tocItem \markup { Largo }
+ \markup \null
+}
+@end lilypond
@seealso
Archivos de inicio:
-@file{@/.@/./@/ly/@/toc@/-init@/.ly}.
-
+@file{ly/toc-init.ly}.
@predefined
@funindex \table-of-contents
@menu
* Inclusión de archivos de LilyPond::
* Distintas ediciones a partir de una misma fuente::
-* Codificación del texto::
-* Presentar la notación de LilyPond::
+* Caracteres especiales::
@end menu
@end example
La línea @code{\include "otroarchivo.ly"} equivale a pegar todo el
-contenido de @file{otroarchivo@/.ly} en el archivo actual en el lugar en
+contenido de @file{otroarchivo.ly} en el archivo actual en el lugar en
que aparece el @code{\include}. Por ejemplo, en un proyecto grande
podríamos querer archivos distintos para cada parte instrumental y
crear un archivo de @qq{partitura completa} que reúne los archivos
incluir proporcionando una referencia de ruta completa o una ruta
relativa (pero utilice la barra inclinada normal del UNIX, /, no la
barra invertida de DOS/Windows, \, como separador de directorio). Por
-ejemplo, si @file{material@/.ly} está situado un directorio por encima
+ejemplo, si @file{material.ly} está situado un directorio por encima
del directorio de trabajo actual, utilice
@example
especifican deben ser relativos al directorio que contiene el archivo
principal, no al directorio que contiene el archivo incluido. Sin
embargo, este comportamiento se puede modificar pasando la opción
-@code{-drelative-includes} en la línea de órdenes (o mediante la
+@option{-drelative-includes} en la línea de órdenes (o mediante la
adición de @code{#(ly:set-option 'relative-includes #t)} al principio
del archivo principal de entrada). Con el valor de
@code{relative-includes} establecido, la ruta de cada instrucción
ruta de búsqueda especificada como opción al invocar a LilyPond desde
la línea de órdenes. Los archivos incluidos se especifican usando
solamente su nombre de archivo. Por ejemplo, para compilar mediante
-este método un archivo @file{principal@/.ly} que incluye archivos
+este método un archivo @file{principal.ly} que incluye archivos
situados en un subdirectorio llamado @file{partes}, cambie al
-directorio que contiene @file{principal@/.ly} e introduzca
+directorio que contiene @file{principal.ly} e introduzca
@example
lilypond --include=partes principal.ly
@end example
-y en @file{principal@/.ly} escriba
+y en @file{principal.ly} escriba
@example
\include "VI.ly"
@end example
Los archivos que se incluyen en muchas partituras se pueden poner en
-el directorio de LilyPond @file{@/.@/./@/ly} (la localización de este
+el directorio de LilyPond @file{../ly} (la localización de este
directorio depende de la instalación: véase
@rlearning{Otras fuentes de información}). Estos archivos se pueden
incluir sencillamente por su nombre en un enunciado @code{\include}.
De esta forma se incluyen los archivos dependientes del idioma como
-@file{espanol@/.ly}.
+@file{espanol.ly}.
LilyPond incluye de forma predeterminada ciertos archivos cuando se
inicia el programa. Estas inclusiones no son visibles para el
Pueden verse ejemplos sencillos sobre el uso de @code{\include} en
@rlearning{Partituras y particellas}.
-
@seealso
Manual de aprendizaje:
@rlearning{Otras fuentes de información},
@rlearning{Partituras y particellas}.
-
@knownissues
-
Si un archivo incluido recibe un nombre igual al de uno de los
archivos de instalación de LilyPond, el archivo que tiene prioridad es
el de los archivos de instalación de LilyPond.
@subsection Distintas ediciones a partir de una misma fuente
@translationof Different editions from one source
-Se encuentran disponibles varios mecanismos para facilitar la
-producción de distintas versiones de una partitura a partir de la
-misma fuente musical. Las variables son quizá más útiles para
-combinar secciones extensas de música y/o anotaciones de diversas
-formas, mientras que las etiquetas son más útiles para seleccionar una
-de entra varias secciones de música más cortas. Cualquiera que sea el
-método utilizado, la separación de la notación de la estructura de la
-partitura hará que sea más fácil cambiar la estructura dejando intacta
-la notación.
+Se pueden usar varios métodos para generar la producción de distintas
+versiones de una partitura a partir de la misma fuente musical. Las
+variables son quizá el más útil para combinar secciones extensas de
+música y/o anotaciones. Las etiquetas son más útiles para seleccionar
+una sección de entre varias secciones de música alternativas, más
+cortas, y se pueden usar también para dividir piezas de música en
+distintos trozos.
+
+Cualquiera que sea el método utilizado, la separación de la notación
+de la estructura de la partitura hará que sea más fácil cambiar la
+estructura dejando intacta la notación.
@menu
* Uso de las variables::
* Uso de etiquetas::
+* Uso de ajustes globales::
@end menu
@node Uso de las variables
@funindex \tag
@funindex \keepWithTag
@funindex \removeWithTag
+@funindex \pushToTag
+@funindex \appendToTag
@cindex etiqueta
@cindex mantener música etiquetada
@cindex quitar música etiquetada
+@cindex división en música etiquetada
La instrucción @code{\tag #'@var{parteA}} marca una expresión musical
con el nombre @var{parteA}. Las expresiones etiquetadas de esta
etiquetadas excepto la que se nombra, y el segundo filtro elimina
incluso esa sección etiquetada.
+A vecespodemos desear dividir la música en un determinado lugar dentro
+de una expresión musical existente. Podemos usar @code{\pushToTag} y
+@code{\appendToTag} para añadir material delante o al final de los
+@code{elements} de una construcción musical existente. No toda
+construcción musical tiene la parte @code{elements}, pero las músicas
+secuenciaes y simultáneas son dos apuestas seguras:
+
+@lilypond[verbatim,quote]
+test = { \tag #'here { \tag #'here <<c''>> } }
+
+{
+ \pushToTag #'here c'
+ \pushToTag #'here e'
+ \pushToTag #'here g' \test
+ \appendToTag #'here c'
+ \appendToTag #'here e'
+ \appendToTag #'here g' \test
+}
+@end lilypond
+
+Las dos instrucciones admiten una etiqueta, el material que dividir en
+cada ocurrencia de la etiqueta, y la expresión etiquetada. Las
+instrucciones aseguran que se copia todo lo que cambian, de forma que
+el código original @code{\test} retiene su significado.
@seealso
Manual de aprendizaje:
@ref{Combinación automática de las partes},
@ref{Inclusión de archivos de LilyPond}.
-
@ignore
@c This warning is more general than this placement implies.
@c Rests are not merged whether or not they come from tagged sections.
@c Should be deleted? -td
-
@knownissues
-
Multiple rests are not merged if you create a score with more
than one tagged section at the same place.
@end ignore
+@node Uso de ajustes globales
+@unnumberedsubsubsec Uso de ajustes globales
+@translationof Using global settings
+
+@cindex include-settings
+
+Se pueden incluir ajustes globales a partir de un archivo distinto:
+
+@example
+lilypond -dinclude-settings=MIS_AJUSTES.ly MI_PARTITURA.ly
+@end example
+
+En archivos diferentes se pueden almacenar grupos de ajustes como
+el tamaño de la página o las fuentes tipográficas. Ello permite
+hacer diferentes ediciones de la mism a partitura así como aplicar
+ajustes estándar a muchas partituras, simplemente por medio de la
+especificación del archivo de ajustes adecuado.
+
+Esta técnica también funciona bien con el uso de hojas de estilo,
+como se estudia en @rlearning{Hojas de estilo}.
+
+@seealso
+Manual de aprendizaje:
+@rlearning{Organizar las piezas mediante variables},
+@rlearning{Hojas de estilo}.
+
+Referencia de la notación:
+@ref{Inclusión de archivos de LilyPond}.
+
+
+@node Caracteres especiales
+@subsection Caracteres especiales
+@translationof Special characters
+
+@cindex caracteres especiales
+@cindex caracteres no ASCII
+
+@menu
+* Codificación del texto::
+* Unicode::
+* Alias de ASCII::
+@end menu
+
+
@node Codificación del texto
-@subsection Codificación del texto
+@unnumberedsubsubsec Codificación del texto
@translationof Text encoding
-@cindex Unicode
@cindex UTF-8
-@cindex caracteres no ASCII
LilyPond usa el conjunto de caracteres definido por el consorcio
Unicode y la norma ISO/IEC 10646. Define un nombre único y un código
\addlyrics { \portuguese }
@end lilypond
+
+@node Unicode
+@unnumberedsubsubsec Unicode
+
+@cindex Unicode
+
Para introducir un carácter aislado para el que se conoce el punto de
código Unicode pero no está disponible en el editor que se está
usando, use @code{\char ##xhhhh} o bien @code{\char #dddd} dentro de
carácter en el portal del Consorcio Unicode,
@uref{http://www.unicode.org/}.
-
Por ejemplo, tanto @code{\char ##x03BE} como @code{\char #958}
insertan el carácter Unicode U+03BE, que tiene el nombre Unicode
@qq{Letra griega Xi pequeña}.
}
\addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
}
-\markup { "Copyright 2008--2010" \char ##x00A9 }
+\markup { "Copyright 2008--2012" \char ##x00A9 }
@end lilypond
@cindex copyright, símbolo de
@end example
-@node Presentar la notación de LilyPond
-@subsection Presentar la notación de LilyPond
-@translationof Displaying LilyPond notation
+@node Alias de ASCII
+@unnumberedsubsubsec Alias de ASCII
+@translationof ASCII aliases
-@funindex \displayLilyMusic
-La impresión textual de una expresión musical en notación de LilyPond
-puede hacerse con la función musical @code{\displayLilyMusic} pero solamente
-mediante la línea de órdenes. Por ejemplo,
+Se puede incluir una lista de alias de ASCII para caracteres
+especiales:
-@example
-@{
- \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
-@}
-@end example
+@lilypond[quote,verbatim]
+\paper {
+ #(include-special-characters)
+}
-imprimirá
+\markup "&flqq; – &OE;uvre incomplète… &frqq;"
-@example
-@{ a,4 cis e fis g @}
-@end example
+\score {
+ \new Staff { \repeat unfold 9 a'4 }
+ \addlyrics {
+ This is al -- so wor -- kin'~in ly -- rics: –_&OE;…
+ }
+}
-De forma predeterminada, LilyPond imprime estos mensajes en la consola
-junto al resto de los mensajes de la compilación de LilyPond.
-Para discernir entre estos mensajes y
-guardar el resultado de @code{\display@{MATERIAL@}}, redireccione la
-salida hacia un archivo.
+\markup \column {
+ "The replacement can be disabled:"
+ "– &OE; …"
+ \override #'(replacement-alist . ()) "– &OE; …"
+}
+@end lilypond
-@example
-lilypond archivo.ly >resultado.txt
-@end example
+También podemos hacer nuestros propios alias, ya sea de forma global:
+
+@lilypond[quote,verbatim]
+\paper {
+ #(add-text-replacements!
+ '(("100" . "hundred")
+ ("dpi" . "dots per inch")))
+}
+\markup "A 100 dpi."
+@end lilypond
+
+o local:
+
+@lilypond[quote,verbatim]
+\markup \replace #'(("100" . "hundred")
+ ("dpi" . "dots per inch")) "A 100 dpi."
+@end lilypond
+@seealso
+Referencia de la notación:
+@ref{Lista de caracteres especiales}.
+
+Archivos instalados:
+@file{ly/text-replacements.ly}.
@node Controlar la salida
* Sustituir la tipografía de la notación::
@end menu
+
@node Extracción de fragmentos de música
@subsection Extracción de fragmentos de música
@translationof Extracting fragments of music
definición de tiempo rhythmic-location a la lista.
Para poder utilizar esta funcionalidad, LilyPond se debe invocar con
-la opción @code{-dclip-systems}. Los recortes aparecen en la salida
+la opción @option{-dclip-systems}. Los recortes aparecen en la salida
como archivos EPS, y se convierten en PDF y PNG si estos formatos
también están activados.
En música polifónica, @code{Score.skipTypesetting} afecta a todas las
voces y pentagramas, ahorrando más tiempo incluso.
+
@node Formatos de salida alternativos
@subsection Formatos de salida alternativos
@translationof Alternative output formats
formatos de salida Gráficos de vector escalables (SVG), PostScript
encapsulado (EPS) y Gráficos de red portátiles (PNG) también están
disponibles a través de opciones de la línea de órdenes, véase
-@rprogram{Opciones de la línea de órdenes para lilypond}.
+@rprogram{Opciones básicas de la línea de órdenes para LilyPond}.
@node Sustituir la tipografía de la notación
Descargue y extraiga el archivo zip. Copie la carpeta @code{lilyfonts}
a @file{@var{SHARE_DIR}/lilypond/current}; para más información,
-consulte @rlearning{Otras fuentes de información}. Mueva la carpeta
-@code{fonts} existente a @code{fonts_orig} y mueva la carpeta
-@code{lilyfonts} a @code{fonts}. Sencillamente vuelva a mover
-@code{fonts_orig} a @code{fonts} para volver a la fuente Feta.
+consulte @rlearning{Otras fuentes de información}. Renombre la carpeta
+@code{fonts} existente a @code{fonts_orig} y la carpeta
+@code{lilyfonts} a @code{fonts}. Para volver a la fuente Feta,
+invierta el proceso.
@seealso
Manual de aprendizaje:
@knownissues
Gonville no se puede usar para tipografiar notación de @q{Música
-Antigua}. Diríjase a la página web del autor para obtener más
+Antigua} y es probable que cualquier nuevo glifo en versiones
+posteriores de LilyPond no existan en la familia
+tipográfica Gonville. Diríjase a la página web del autor para obtener más
información sobre éste y otros asuntos, entre ellos el régimen de
licencias de Gonville.
las alteraciones erróneas se ponen de relieve muy claramente al
escuchar la salida MIDI.
-@c TODO Check this
-La salida MIDI reserva un canal por cada pentagrama, y otro para los
-ajustes globales. Por ello, el archivo MIDI no debe tener más de 15
-pautas (o 14 si no se usa la percusión). Otros pentagramas permanecen
-en silencio.
+La salida estándar de MIDI es un poco primitiva; de forma opcional, se
+encuentra disponible una salida MIDI mejorada y mucho más realista,
+por medio de @ref{El script Articulate}.
+
+La salida MIDI reserva un canal por cada pentagrama, y reserva
+el canal 10 para la percusión. Sólo hay 16 canales MIDI por cada
+dispositivo, por lo que si la partitura tiene más de 15 pautas, los
+canales MIDI se reutilizarán.
@menu
* Crear archivos MIDI::
* Repeticiones y MIDI::
* Control de los matices en el MIDI::
* Percusión en MIDI::
+* El script Articulate::
@end menu
+
@node Crear archivos MIDI
@subsection Crear archivos MIDI
@translationof Creating MIDI files
@snippets
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{changing-midi-output-to-one-channel-per-voice.ly}
@knownissues
\score @{
@var{...música...}
\midi @{
- \context @{
- \Score
- tempoWholesPerMinute = #(ly:make-moment 72 4)
- @}
+ \tempo 4 = 72
@}
@}
@end example
En este ejemplo, el tempo se establece a 72 pulsos de negra por
-minuto. Esta clase de especificación de tempo no puede tomar como
-argumento una figura con puntillo. Si necesitamos una figura con
-puntillo, dividimos la nota con puntillo en figuras más pequeñas. Por
-ejemplo, un tempo de 90 negras con puntillo por minuto se puede
-especificar como 270 corcheas por minuto:
-
-@example
-tempoWholesPerMinute = #(ly:make-moment 270 8)
-@end example
+minuto. @code{\tempo} is actually a music command for
+setting properties during the interpretation of music: in the
+context of output definitions like a @code{\midi} block, as a matter of
+courtesy those are reinterpreted as if they were context modifications.
@cindex MIDI, definiciones de contexto
Las definiciones de contexto siguen con precisión la misma sintaxis
que la de un bloque @code{\layout}. Los módulos de traducción para el
sonido reciben el nombre de ejecutantes. Los contextos para la salida
-MIDI se definen en @file{@/.@/./@/ly/@/performer@/-init@/.ly}, véase
+MIDI se definen en @file{../ly/performer-init.ly}, véase
@rlearning{Otras fuentes de información}. Por ejemplo, para eliminar
el efecto de los matices de la salida MIDI, inserte las líneas
siguientes en el bloque @code{\midi@{ @}}.
@}
@end example
+
@node ¿Qué sale por el MIDI?
@subsection ¿Qué sale por el MIDI?
@translationof What goes into the MIDI output?
@cindex MIDI, nombres de
@cindex duraciones en MIDI
@cindex MIDI, duraciones
+@cindex Articlulate, scripts
+@cindex MIDI, articulaciones
+@cindex articulaciones en MIDI
+@cindex trinos en MIDI
+@cindex grupetos en MIDI
+@cindex rallentando en MIDI
+@cindex accelerando en MIDI
@c TODO etc
Los siguientes elementos de notación se reflejan en la salida MIDI:
@item Letra de las canciones
@end itemize
+Utilizando @ref{El script Articulate}, a la lista anterior se añaden
+una serie de elementos:
+
+@itemize
+@item Articulaciones (ligaduras de expresión, picados, etc)
+@item Trinos, mordentes circulares
+@item Rallentando y accelerando
+@end itemize
+
+
@unnumberedsubsubsec No contemplado en el MIDI
@c TODO index as above
Los siguientes elementos de notación no tienen ningún efecto sobre la
-salida MIDI:
+salida MIDI, a no ser que utilicemos @ref{El script Articulate}:
@itemize
@item Duraciones escritas como anotaciones, p.ej. el swing
\bar "|."
@end lilypond
+En partituras con varias voces, el desplegado de las repeticiones en
+la salida MIDI solo se produce correctamente si @emph{todas y cada
+una} de las voces incluye las repeticiones de manera completa y
+explícita.
+
Al crear un archivo de partitura que use @code{\unfoldRepeats} para el
MIDI, es necesario hacer dos bloques @code{\score}: uno para el MIDI
(con repeticiones desplegadas) y otro para la notación impresa (con
del rango de volumen MIDI disponible. Las fracciones predeterminadas
se extienden desde 0.25 para @notation{ppppp} hasta 0.95 para
@notation{fffff}. El conjunto de indicaciones dinámicas y las
-fracciones asociadas pueden verse en @file{@/.@/./@/scm/@/midi@/.scm}, véase
+fracciones asociadas pueden verse en @file{../scm/midi.scm}, véase
@rlearning{Otras fuentes de información}. Este conjunto de fracciones
se puede cambiar o extender proporcionando una función que toma como
argumento una indicación dinámica y devuelve la fracción requerida, y
Como alternativa, si se necesitara redefinir la tabla completa de
fracciones, sería mejor usar el procedimiento
@notation{default-dynamic-absolute-volume} que aparece en
-@file{@/.@/./@/scm/@/midi@/.scm} y la tabla asociada como modelo. El último
+@file{../scm/midi.scm} y la tabla asociada como modelo. El último
ejemplo de esta sección muestra cómo se puede hacer esto.
@unnumberedsubsubsec Volumen maestro MIDI
>>
\layout {}
\midi {
+ \tempo 2 = 72
\context {
\Score
- tempoWholesPerMinute = #(ly:make-moment 72 2)
midiMinimumVolume = #0.2
midiMaximumVolume = #0.5
}
>>
\layout {}
\midi {
- \context {
- \Score
- tempoWholesPerMinute = #(ly:make-moment 72 2)
- }
+ \tempo 2 = 72
}
}
@end lilypond
establecidas, de forma predeterminada LilyPond aplica un pequeño grado
de ecualización a algunos instrumentos. Los instrumentos y la
ecualización que se aplica se muestra en la tabla
-@notation{instrument-equalizer-alist} en @file{@/.@/./@/scm/@/midi@/.scm}.
+@notation{instrument-equalizer-alist} en @file{../scm/midi.scm}.
El ecualizador básico predeterminado se puede sustituir estableciendo
@code{instrumentEqualizer} en el contexto @code{Score} a un
la fracción de volumen absoluto @code{dynamicAbsoluteVolumeFunction}
al comienzo de esta sección. El ecualizador predeterminado,
@notation{default-instrument-equalizer}, en
-@file{@/.@/./@/scm/@/midi@/.scm}, muestra cómo se puede escribir tal
+@file{../scm/midi.scm}, muestra cómo se puede escribir tal
procedimiento.
El ejemplo siguiente establece los volúmenes relativos de la flauta y
>>
\layout { }
\midi {
- \context {
- \Score
- tempoWholesPerMinute = #(ly:make-moment 72 2)
- }
+ \tempo 2 = 72
}
}
@end lilypond
Debido a que el estándar General MIDI no contiene golpes de aro
(@emph{rim shots}), para este propósito se utiliza en su lugar el
golpe lateral de baqueta (@emph{sidestick}).
+
+
+@node El script Articulate
+@subsection El script Articulate
+@translationof The Articulate script
+
+Es posible obtener una salida MIDI más real si se utiliza el script
+Articulate. Éste trata de tener en cuenta las articulaciones
+(ligaduras de expresión, picados, etc), mediante la sustitución de las
+notas con secuencias musicales de silencios y notas escaladas en el
+tiempo de forma apropiada. También trata de desplegar los trinos,
+grupetos circulares, etc. y responder a las indicaciones de
+rallentando y accelerando.
+
+Para utilizar el script Articulate, tenemos que incluirlo al principio
+de nuestro archivo de entrada:
+
+@example
+\include "articulate.ly"
+@end example
+
+y en la sección @code{\score}, hacer lo siguiente:
+
+@example
+\unfoldRepeats \articulate <<
+ resto de la partitura...
+>>
+@end example
+
+Después de alterar el código de entrada de esta manera el resultado
+visual se altera profundamente, pero el bloque @code{\midi} estándar
+produce un archivo MIDI mejorado.
+
+Si bien no es esencial para que funcione el script Articulate, podemos
+insertar la instrucción @code{\unfoldRepeats} según aparece en el
+ejemplo anterior, dado que habilita la ejecución de abreviaturas tales
+como los @notation{trinos}.
+
+@knownissues
+
+Articulate acorta los acordes, y ciertos fragmentos de música
+(especialmente la música de órgano) es posible que suene peor.
+
+
+@node Extraer información musical
+@section Extraer información musical
+@translationof Extracting musical information
+
+Además de crear un resultado visual y MIDI,
+LilyPond es capaz de presentar información
+musical en forma de texto.
+
+@menu
+* Impresión del código de notación de LilyPond::
+* Impresión de las expresiones musicales de Scheme::
+* Guardar los eventos musicales en un archivo::
+@end menu
+
+
+@node Impresión del código de notación de LilyPond
+@subsection Displaying LilyPond notation
+@translationof Displaying LilyPond notation
+
+@funindex \displayLilyMusic
+La impresión textual de una expresión musical en notación de LilyPond
+puede hacerse con la función musical @code{\displayLilyMusic}.
+Para ver el resultado, lo más usual es llamar a LilyPond
+mediante la línea de órdenes. Por ejemplo,
+
+@example
+@{
+ \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
+@}
+@end example
+
+imprime lo siguiente:
+
+@example
+@{ a,4 cis e fis g @}
+@end example
+
+De forma predeterminada, LilyPond imprime estos mensajes en la consola
+junto al resto de los mensajes de la compilación de LilyPond.
+Para discernir entre estos mensajes y
+guardar el resultado de @code{\display@{MATERIAL@}}, redireccione la
+salida hacia un archivo.
+
+@example
+lilypond archivo.ly >resultado.txt
+@end example
+
+
+@node Impresión de las expresiones musicales de Scheme
+@subsection Impresión de las expresiones musicales de Scheme
+@translationof Displaying scheme music expressions
+
+Véase @rextend{Presentación de las expresiones musicales}.
+
+
+@node Guardar los eventos musicales en un archivo
+@subsection Guardar los eventos musicales en un archivo
+@translationof Saving music events to a file
+
+Los eventos musicales se pueden guardar en un archivo pentagrama a
+pentagrama mediante la inclusión de un archivo en nuestra partitura
+principal.
+
+@example
+\include "event-listener.ly"
+@end example
+
+De esta forma se crean uno o más archivos llamados
+@file{FILENAME-STAFFNAME.notes} ó @file{FILENAME-unnamed-staff.notes}
+para cada pentagrama. Observe que si tiene más de un pentagrama sin
+nombre, los eventos de todos los pentagramas se mezclarán entre sí
+dentro del mismo archivo. El resultado tiene el aspecto siguiente:
+
+@example
+0.000 note 57 4 p-c 2 12
+0.000 dynamic f
+0.250 note 62 4 p-c 7 12
+0.500 note 66 8 p-c 9 12
+0.625 note 69 8 p-c 14 12
+0.750 rest 4
+0.750 breathe
+@end example
+
+La sintaxis consiste en una línea delimitada por caracteres de
+tabulación, con dos campos fijos en cada línea seguidos de parámetros
+opcionales.
+
+@example
+@var{tiempo} @var{tipo} @var{...parámetros...}
+@end example
+
+Esta información se puede leer fácilmente por parte de otros programas
+como guiones de Python, y pueden ser muy útiles para aquellos
+investigadores que desean realizar un análisis musical o hacer
+experimientos de reproducción con LilyPond.
+
+@knownissues
+No todos los eventos musicales de lilypond están contemplados por
+@file{event-listener.ly}. Se pretende que sea una @qq{prueba de
+concepto} bien realizada. Si algunos eventos que quiere ver no
+aparecen incluidos, copie @file{event-listener.ly} en su carpeta de
+lilypond y modifique el archivo de forma que produzca la información
+que desea.