+@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
+
+@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}:
+
+@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
+
+@cindex marcado condicional
+@cindex on-the-fly
+@funindex \on-the-fly
+
+La instrucción de marcado @code{\on-the-fly} se puede utilizar
+para añadir elementos de forma condicional al texto de
+encabezamiento y pie de página definido dentro del bloque
+@code{\paper}, usando la sintaxis siguiente:
+
+@example
+variable = \markup @{
+ @dots{}
+ \on-the-fly \@var{procedimiento} @var{marcado}
+ @dots{}
+@}
+@end example
+
+El @var{procedimiento} se llama cada vez que se evalúa la
+instrucción @code{\markup} en que ésta aparece. El
+@var{procedimiento} debería comprobar si se cumple una condición
+determinada e interpretar (es decir: imprimir) el argumento
+@var{marcado} si, y sólo si, la condición es verdadera.
+
+Se proveen un cierto número de procedimientos ya hechos para la
+comprobación de diversas condiciones:
+
+@quotation
+@multitable {print-page-number-check-first-----} {¿es el núm. de páginas en la parte de libro > 1?-----}
+
+@headitem Nombre del procedimiento @tab Condición que se comprueba
+
+@item print-page-number-check-first @tab ¿debería imprimirse este número de página?
+@item create-page-number-stencil @tab ¿es print-page-numbers verdadero?
+@item print-all-headers @tab ¿es print-all-headers verdadero?
+@item first-page @tab ¿es la primera página del libro?
+@item not-first-page @tab ¿no es la primera página del libro?
+@item (on-page nmbr) @tab ¿es el número de página = nmbr?
+@item last-page @tab ¿es la última página del libro?
+@item part-first-page @tab ¿es la primera página de la parte de libro?
+@item not-part-first-page @tab ¿no es la primera página de la parte de libro?
+@item part-last-page @tab ¿es la última página de la parte de libro?
+@item not-single-page @tab ¿es el núm. de páginas en la parte de libro > 1?
+
+@end multitable
+@end quotation
+
+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
+
+Se pueden combinar varias condiciones de @code{\on-the-fly} con
+un operador @q{and}, por ejemplo:
+
+@example
+ \on-the-fly \first-page
+ \on-the-fly \last-page
+ @code{@{ \markup @dots{} \fromproperty #'header: @dots{} @}}
+@end example
+
+determina si la salida es una sola página.
+
+@seealso
+Referencia de la notación:
+@ref{Explicación de los títulos},
+@ref{Presentación predeterminada de los títulos de partes de libro y partitura}.
+
+Archivos instalados:
+@file{../ly/titling-init.ly}.
+
+@node Crear metadatos en los archivos de salida
+@subsection Crear metadatos en los archivos de salida
+@translationof Creating output file metadata
+
+@cindex metadatos de PDF
+@cindex metadatos de MIDI
+
+Además de mostrarse en la salida impresa, las variables de
+encabezamiento de @code{\header} se usan para establecer los
+metadatos para los archivos de salida. Por ejemplo, con los
+archivos PDF, estos metadatos pueden mostrarse por parte de los
+lectores de documentos como @code{propiedades} del PDF. Para cada
+tipo de archivo de salida, solamente se consultan las definiciones
+de @code{\header} de los bloques que definen archivos separados de
+ese tipo, y los bloques más altos en la jerarquía de bloques. Por
+tanto, para los archivos PDF, solo afectan a los metadatos de PDF
+de cada documento las definiciones de @code{\header} de los
+niveles de @code{\book} y de nivel superior, mientras que para
+archivos MIDI, se usan todas las cabeceras que están por encima o
+al nivel de @code{\score}.
+
+Por ejemplo, si se
+establece la propiedad @code{title} del bloque @code{header} como
+@q{Sinfonía núm. 1}, el documento PDF llevará también este
+título, y lo usará como el nombre de la secuencia del archivo MIDI.
+
+@example
+\header@{
+ title = "Sinfonía núm. 1"
+@}
+@end example
+
+Si quiere fijar el título de la salida impresa con un texto pero
+quiere que la propiedad de título del PDF tenga un texto
+diferente, puede usar @code{pdftitle} como se muestra a
+continuación.
+
+@example
+\header@{
+ title = "Sinfonía núm. 1"
+ pdftitle = "Sinfonía núm. 1 de Beethoven"
+@}
+@end example
+
+Todas las variables @code{title}, @code{subject},
+@code{keywords}, @code{subtitle}, @code{composer},
+@code{arranger}, @code{poet}, @code{author} y @code{copyright}
+establecen propiedades del PDF y pueden hacerse preceder de
+@q{pdf} para fijar una propiedad del archivo PDF a un valor
+distinto del de la salida impresa.
+
+La propiedad de PDF @code{Creator} se fija automáticamente a
+@q{LilyPond} más la versión actual de LilyPond, y las variables
+@code{CreationDate} y @code{ModDate} se fijan a la fecha y hora
+actuales. Se puede sobreescribir @code{ModDate} mediante el
+establecimiento de un valor para la variable de cabecera
+@code{moddate} (o @code{pdfmoddate}) a una cadena de fecha de PDF
+válida.
+
+La variable @code{title} establece también el nombre de la
+secuencia para el archivo MIDI. Se puede usar la variable
+@code{midititle} para fijar el nombre de la secuencia
+independientemente del valor usado para la salida impresa.
+
+@node Crear notas al pie
+@subsection Crear notas al pie
+@translationof Creating footnotes
+
+@cindex notas al pie
+
+Se pueden crear dos tipos de notas al pie: automáticas y manuales.
+
+@menu
+* Notas al pie dentro de expresiones musicales::
+* Notas al pie en texto independiente::
+@end menu
+
+@node Notas al pie dentro de expresiones musicales
+@unnumberedsubsubsec Notas al pie dentro de expresiones musicales
+@translationof Footnotes in music expressions
+
+@cindex notas al pie dentro de expresiones musicales
+@funindex \footnote
+
+@subsubsubheading Panorámica de las notas al pie
+
+Las notas al pie dentro de expresiones musicales caen dentro de
+dos categorías:
+
+@table @emph
+@item Notas al pie basadas en eventos
+Se adjuntan a un evento en particular. Son ejemplos de tales
+eventos las notas sueltas, las articulaciones (como indicaciones
+de digitación, acentos, indicaciones dinámicas) y los
+post-eventos (como las ligaduras de expresión y las barras de
+corchea manuales). La forma general de las notas al pie basadas
+en eventos es como sigue:
+
+@example
+[@var{dirección}] \footnote [@var{marca}] @var{desplazamiento} @var{texto-de-la-nota} @var{música}
+@end example
+
+@item Notas al pie basadas en tiempo
+Se ligan a un punto temporal determinado, dentro de un contexto
+musical. Algunas instrucciones como @code{\time} y @code{\clef}
+en realidad no usan eventos para crear objetos como la indicación
+de compás y la clave. Un acorde tampoco crea un evento por sí
+mismo: su plica o corchete se crea al final de un paso de tiempo
+(nominalmente, a través de uno de los eventos de nota que
+contiene). Una nota al pie basada en tiempo permite anotar tales
+objetos de presentación sin referirse a ningún evento.
+
+Una nota al pie basada en tiempo permite que tales objetos de
+presentación se puedan anotar sin hacer referencia a un evento.
+La forma general para las notas al pie basadas en tiempo es:
+
+@example
+\footnote [@var{marca}] @var{desplazamiento} @var{texto-de-la-nota} [@var{Contexto}].@var{Nombre-del-Grob}
+@end example
+
+@end table
+
+Los elementos para las dos formas son como sigue:
+
+@table @var
+
+@item dirección
+Si (y sólo si) el @code{\footnote} se está aplicando a un
+post-evento o articulación, debe ir precedida de un indicador de
+dirección (@code{-, _, ^}) con el objeto de adjuntar la
+@var{música} (con una marca de nota al pie) a la nota o silencio
+precedente.
+
+@item marca
+es un elemento de marcado o cadena de caracteres que especifica
+la marca de nota al pie que se usa para marcar tanto el punto de
+referencia como la propia nota al pie en la parte inferior de la
+página. Se puede omitir (o, de forma equivalente, sustituirse
+por @code{\default}) en cuyo caso se genera un número
+secuencialmente de forma automática. Tales secuencias numéricas
+se reinician en cada página que contiene una nota al pie.
+
+@item desplazamiento
+es una pareja de números tal como @samp{#(2 . 1)} que especifica
+los desplazamientos en X y en Y en unidades de espacios de
+pentagrama a partir del límite del objeto en que se desea situar
+la marca. Los valores de desplazamiento positivos se toman a
+partir del borde superior derecho, los valores negativos a partir
+del borde inferior izquierdo y cero implica que la marca se
+centra sobre el borde.
+
+@item Contexto
+es el contexto en que se crea el grob que recibe la nota al pie.
+Se puede omitir si el grob está en un contexto del nivel inferior,
+p. ej. un contexto @code{Voice}.
+
+@item Nombre-del-Grob
+especifica un tipo de grob que marcar (como @samp{Flag} para el
+corchete). Si se da, la nota al pie no se adjunta a una
+expresión musical en particular, sino a todos los grobs del tipo
+especificado que ocurren en dicho momento de tiempo musical.
+
+@item texto-de-la-nota
+es el elemento de marcado o cadena de caracteres que especifica
+el texto de la nota al pie que utilizar en la parte baja de la
+página.
+
+@item música
+es el evento musical, post-evento o articulación que se
+está anotando.
+
+@end table
+
+@subsubsubheading Notas al pie basadas en eventos
+
+@cindex Notas al pie, basadas en eventos
+
+Una nota al pie se adjunta a un objeto de presentación causado
+directamente por el evento que corresponde a @var{música}, con la
+sintaxis siguiente:
+
+@example
+\footnote [@var{marca}] @var{desplazamiento} @var{texto-de-la-nota} @var{música}
+@end example
+
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
+\book {
+ \header { tagline = ##f }
+ \relative c'' {
+ \footnote #'(-1 . 3) "Una nota" a4
+ a4
+ \footnote #'(2 . 2) "Un silencio" r4
+ a4
+ }
+}
+@end lilypond
+
+No es posible marcar un acorde @emph{completo} con una nota al
+pie basada en evento: un acorde, incluso aquel que contiene una
+sola nota, no produce un verdadero evento por sí mismo. Sin
+embargo, las notas individuales que están @emph{dentro} del
+acorde sí se pueden marcar:
+
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
+\book {
+ \header { tagline = ##f }
+ \relative c'' {
+ \footnote #'(2 . 3) "No funciona" <a-3>2
+ <\footnote #'(-2 . -3) "Funciona" a-3>4
+ <a-3 \footnote #'(3 . 1/2) "También funciona" c-5>4
+ }
+}
+@end lilypond
+
+Si se desea que la nota al pie se adjunte a un post-evento o
+articulación, la instrucción @code{\footnote} @emph{debe} ir
+precedida por un indicador de dirección, @code{-, _, ^}, y
+seguida por el post-evento o articulación que se desea anotar
+como argumento @var{música}. En esta forma, la @code{\footnote}
+se puede considerar como una simple copia de su último argumento
+con una marca de nota al pie adjunta. La sintaxis es:
+
+@example
+@var{dirección} \footnote [@var{marca}] @var{desplazamiento} @var{texto-de-la-nota} @var{música}
+@end example
+
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
+\book {
+ \header { tagline = ##f }
+ \relative {
+ a'4_\footnote #'(0 . -1) "Ligadura forzada hacia abajo" (
+ b8^\footnote #'(1 . 0.5) "Barra manual forzada hacia arriba" [
+ b8 ]
+ c4 )
+ c-\footnote #'(1 . 1) "Tenuto" --
+ }
+}
+@end lilypond
+
+@subsubsubheading notas al pie basadas en tiempo
+
+@cindex notas al pie, basadas en tiempo
+
+Si el objeto de presentación que recibe la nota al pie está
+causado @emph{indirectamente} por un evento (como un objeto
+@code{Accidental}, alteración, o @code{Stem}, plica, causados por
+un evento @code{NoteHead}, cabeza de nota), el nombre del grob
+@var{GrobName} del objeto de presentación es necesario después
+del texto de la nota al pie, en lugar de @var{música}:
+
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
+\book {
+ \header { tagline = ##f }
+ \relative c'' {
+ \footnote #'(-1 . -3) "Un bemol" Accidental
+ aes4 c
+ \footnote #'(-1 . 0.5) "Otro bemol" Accidental
+ ees
+ \footnote #'(1 . -2) "Una plica" Stem
+ aes
+ }
+}
+@end lilypond
+
+Sin embargo, observe que cuando se especifica el nombre de un
+grob, se adjunta una nota al pie a todos los grobs de ese tipo
+dentro del instante de tiempo actual:
+
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ \footnote #'(-1 . 3) "Un bemol" Accidental
+ <ees ges bes>4
+ \footnote #'(2 . 0.5) "Articulación" Script
+ c'->-.
+ }
+}
+@end lilypond
+
+Una nota dentro de un acorde puede recibir una nota al pie
+individual, basada en evento. El único grob causado directamente
+por una nota de un acorde es @samp{NoteHead}, por lo que la
+instrucción de nota al pie basada en evento @emph{solamente} es
+apta para añadir una nota al pie a la @samp{NoteHead} dentro de
+un acorde. Todos los demás grobs de notas de acorde están
+causados indirectamente. La propia instrucción @code{\footnote}
+no ofrece ninguna sintaxis para especificar al mismo tiempo un
+tipo concreto de grob @emph{y también} un evento concreto al que
+adjuntar la nota. Sin embargo, se puede usar una instrucción
+@code{\footnote} basada en tiempo para especificar el tipo de
+grob, y luego añadir la instrucción @code{\single} como prefijo,
+con el objeto de que se aplique solamente al evento siguiente:
+
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
+\book {
+ \header { tagline = ##f }
+ \relative c'' {
+ < \footnote #'(1 . -2) "Un La" a
+ \single \footnote #'(-1 . -1) "Un sostenido" Accidental
+ cis
+ \single \footnote #'(0.5 . 0.5) "Un bemol" Accidental
+ ees fis
+ >2
+ }
+}
+@end lilypond
+
+@warning{Cuando las notas al pie se adjuntan a varios elementos musicales
+que están dentro del mismo momento musical, como ocurre en el
+ejemplo anterior, las notas al pie se numeran desde los elementos
+más altos a los más bajos tal y como aparecen en la salida
+impresa, no en el orden en que se escriben en el flujo de
+entrada.}
+
+Los objetos de presentación como las claves y las armaduras de
+cambio de tonalidad están, más bien, causadas por propiedades que
+cambian, y no por eventos. Otros, como las líneas divisorias y
+los números de compás, son una consecuencia directa del paso del
+tiempo. Por esta razón, las notas al pie sobre tales objetos
+tienen que basarse en su tiempo musical. Las notas al pie
+basadas en tiempo so preferibles también cuando se marcan cosas
+como las plicas y las barras de corchea en @emph{acordes}: dado
+que estas funcionalidades de cada acorde individual están
+asignadas normalmente a @emph{un solo} evento dentro del acorde,
+sería imprudente descansar en una elección particular.
+
+En las notas al pie basadas en tiempo, siempre se debe
+especificar explícitamente el objeto de presentación en cuestión,
+y si el grob se crea dentro de un contexto distinto al de nivel
+más bajo, debe especificarse el contexto apropiado.
+
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
+\book {
+ \header { tagline = ##f }
+ \relative c'' {
+ r1 |
+ \footnote #'(-0.5 . -1) "Cambio de compás" Staff.TimeSignature
+ \time 3/4
+ \footnote #'(1 . -1) "Plica de acorde" Stem
+ <c e g>4 q q
+ \footnote #'(-0.5 . 1) "Línea divisoria" Staff.BarLine
+ q q
+ \footnote #'(0.5 . -1) "Cambio de tonalidad" Staff.KeySignature
+ \key c\minor
+ q
+ }
+}
+@end lilypond
+
+Se pueden usar marcas personalizadas como alternativas a las
+marcas numéricas, y se puede suprimir la línea de anotación que
+une el objeto marcado con su marca:
+
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
+\book {
+ \header { tagline = ##f }
+ \relative c' {
+ \footnote "*" #'(0.5 . -2) \markup { \italic "* La primera nota" } a'4
+ b8
+ \footnote \markup { \super "$" } #'(0.5 . 1)
+ \markup { \super "$" \italic " La segunda nota" } e
+ c4
+ \once \override Score.FootnoteItem.annotation-line = ##f
+ b-\footnote \markup \tiny "+" #'(0.1 . 0.1)
+ \markup { \super "+" \italic " Editorial" } \p
+ }
+}
+@end lilypond
+
+Se muestran más ejemplos de marcas personalizadas en
+@ref{Notas al pie en texto independiente}.
+
+
+@node Notas al pie en texto independiente
+@unnumberedsubsubsec Notas al pie en texto independiente
+@translationof Footnotes in stand-alone text
+
+@cindex notas al pie en texto independiente
+
+Se utilizan dentro de un elemento de marcado fuera de cualquier
+expresión musical. No se traza una línea hasta el punto de
+referencia: la marca simplemente sigue al elemento de marcado que
+se referencia. Se pueden insertar las marcas automáticamente, en
+cuyo caso son numéricas. De forma alternativa, se pueden aportar
+manualmente marcas personalizadas.
+
+Las notas al pie para texto independiente con marcas automáticas
+y personalizadas se crean de distintas formas.
+
+@subsubsubheading Notas al pie en texto independiente con marcas automáticas
+
+La sintaxis de una nota al pie sobre texto independiente con
+marcas automáticas es
+
+@example
+\markup @{ @dots{} \auto-footnote @var{texto} @var{nota} @dots{} @}
+@end example
+
+Los elementos son:
+
+@table @var
+
+@item texto
+es el elemento de marcado o cadena de caracteres que se desea
+anotar.
+
+@item nota
+es el elemento de marcado o cadena de caracteres que especifica
+el texto de la nota al pie que utilizar en la parte baja de la
+página.
+
+@end table
+
+Por ejemplo:
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \markup {
+ "A simple"
+ \auto-footnote "tune" \italic " By me"
+ "is shown below. It is a"
+ \auto-footnote "recent" \italic " Aug 2012"
+ "composition."
+ }
+ \relative {
+ a'4 b8 e c4 d
+ }
+}
+@end lilypond
+
+@subsubsubheading Notas al pie sobre texto independiente con marcas personalizadas
+
+La sintaxis de una nota al pie sobre texto independiente con
+marcas personalizadas es
+
+@example
+\markup @{ @dots{} \footnote @var{marca} @var{nota} @dots{} @}
+@end example
+
+Los elementos son:
+
+@table @var
+
+@item marca
+es un elemento de marcado o cadena de caracteres que especifica
+la marca que se usa para señalar el punto de referencia. Observe
+que esta marca @emph{no} se inserta automáticamente antes de la
+propia nota al pie.
+
+@item nota
+es el elemento de marcado o cadena de caracteres que especifica
+el texto de la nota que aparece en la parte baja de la página,
+precedida por la @var{marca} especificada.
+
+@end table
+
+Se puede usar como marca un carácter fácil de teclear, como * ó +,
+según se muestra en @ref{Notas al pie dentro de expresiones musicales}.
+De forma alternativa, se pueden usar alias en ASCII (véase
+@ref{Alias de ASCII}):
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \paper { #(include-special-characters) }
+ \header { tagline = ##f }
+ \markup {
+ "A simple tune"
+ \footnote "*" \italic "* By me"
+ "is shown below. It is a recent"
+ \footnote \super † \concat {
+ \super † \italic " Aug 2012"
+ }
+ "composition."
+ }
+ \relative {
+ a'4 b8 e c4 d
+ }
+}
+@end lilypond
+
+También pueden utilizarse códigos de caracteres Unicode para
+especificar las marcas (véase @ref{Unicode}):
+
+@lilypond[verbatim,quote,ragged-right,papersize=a8]
+\book {
+ \header { tagline = ##f }
+ \markup {
+ "A simple tune"
+ \footnote \super \char##x00a7 \concat {
+ \super \char##x00a7 \italic " By me"
+ }
+ "is shown below. It is a recent"
+ \footnote \super \char##x00b6 \concat {
+ \super \char##x00b6 \italic " Aug 2012"
+ }
+ "composition."
+ }
+ \relative {
+ a'4 b8 e c4 d
+ }
+}
+@end lilypond
+
+@seealso
+Manual de aprendizaje:
+@rlearning{Objetos e interfaces}.
+
+Referencia de la notación:
+@ref{ASCII aliases},
+@ref{Globos de ayuda},
+@ref{Lista de caracteres especiales},
+@ref{Indicaciones de texto},
+@ref{Guiones de texto},
+@ref{Unicode}.
+
+Referencia de funcionamiento interno:
+@rinternals{FootnoteEvent},
+@rinternals{FootnoteItem},
+@rinternals{FootnoteSpanner},
+@rinternals{Footnote_engraver}.
+
+@knownissues
+Varias notas al pie en la misma página solo pueden ir apiladas
+unas sobre otras; no se pueden imprimir en la misma línea.
+
+Las notas al pie no se pueden adjuntar a @code{MultiMeasureRests}
+(silencios multicompás), a barras de corchea automáticas ni a la
+letra de las canciones.
+
+Las notas al pie pueden colisionar con las pautas, objetos
+@code{\markup}, otras marcas de notas al pie y líneas de
+anotación.
+
+
+@node Referencia a números de página
+@subsection Referencia a números de página
+@translationof Reference to page numbers
+
+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}.
+
+@c KEEP LY
+@lilypond[verbatim,papersize=a8landscape]
+\header { tagline = ##f }
+\book {
+ \label #'firstScore
+ \score {
+ {
+ c'1
+ \pageBreak \mark A \label #'markA
+ c'1
+ }
+ }
+ \markup { La primera partitura comienza en la página \page-ref #'firstScore "0" "?" }
+ \markup { La marca A está en la página \page-ref #'markA "0" "?" }
+}
+@end lilypond
+
+La instrucción de marcado @code{\page-ref} toma tres argumentos:
+@enumerate
+@item la etiqueta, un símbolo de Scheme, p.ej. @code{#'firstScore};
+@item un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
+@item un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.
+@end enumerate
+
+El motivo de que se necesite un medidor es que en el momento en
+que se están interpretando los marcados, los saltos de página aún
+no se han producido y por tanto los números de página no se
+conocen todavía. Para sortear este inconveniente, la
+interpretación real del marcado se retrasa hasta un momento
+posterior; sin embargo, las dimensiones del marcado se tienen que
+conocer de antemano, así que se usa el medidor para decidir estas
+dimensiones. Si el libro tiene entre 10 y 99 páginas, el medidor
+puede ser "00", es decir, un número de dos dígitos.
+
+@predefined
+@funindex \label
+@code{\label},
+@funindex \page-ref
+@code{\page-ref}.
+@endpredefined
+
+
+@node Índice general
+@subsection Índice general
+@translationof Table of contents
+
+Se puede insertar un índice general o tabla de contenidos
+utilizando 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
+\markuplist \table-of-contents
+\pageBreak
+
+\tocItem \markup "Primera partitura"
+\score {
+ {
+ c'4 % ...
+ \tocItem \markup "Un punto concreto dentro de la primera partitura"
+ d'4 % ...
+ }
+}
+
+\tocItem \markup "Segunda partitura"
+\score {
+ {
+ e'4 % ...
+ }
+}
+@end verbatim
+
+Los elementos de marcado que se usan para dar formato al índice
+general o tabla de contenidos se encuentran definidos dentro del
+bloque @code{\paper}. Hay dos elementos de marcado
+@q{predefinidos} disponibles:
+
+@itemize
+
+@item
+@code{tocTitleMarkup}
+
+@noindent
+Utilizado para dar formato al título del índice general.
+
+@verbatim
+tocTitleMarkup = \markup \huge \column {
+ \fill-line { \null "Índice general" \null }
+ \null
+}
+@end verbatim
+
+@item
+@code{tocItemMarkup}
+
+@noindent
+Usado para dar formato a los elementos del índice general.
+
+@verbatim
+tocItemMarkup = \markup \fill-line {
+ \fromproperty #'toc:text \fromproperty #'toc:page
+}
+@end verbatim
+
+@end itemize
+
+@noindent
+Ambas variables pueden modificarse.
+
+He aquí un ejemplo que modifica el título del índice general para
+que aparezca en francés:
+
+@verbatim
+\paper {
+ tocTitleMarkup = \markup \huge \column {
+ \fill-line { \null "Table des matières" \null }
+ \hspace #1
+ }
+@end verbatim
+
+A continuación aparece un ejemplo que modifica el tamaño de
+fuente tipográfica de los elementos del índice general:
+
+@verbatim
+tocItemMarkup = \markup \large \fill-line {
+ \fromproperty #'toc:text \fromproperty #'toc:page
+}
+@end verbatim
+
+Observe la forma en que nos referimos al texto y al número de
+página del elemento de índice, dentro de la definición
+@code{tocItemMarkup}.
+
+La instrucción @code{\tocItemWithDotsMarkup} se puede incluir
+dentro de @code{tocItemMarkup} para llenar la línea con puntos
+entre un elemento del índice general y su número de página
+correspondiente:
+
+@lilypond[verbatim,line-width=10.0\cm]
+\header { tagline = ##f }
+\paper {
+ tocItemMarkup = \tocItemWithDotsMarkup
+}
+
+\book {
+ \markuplist \table-of-contents
+ \tocItem \markup { Allegro }
+ \tocItem \markup { Largo }
+ \markup \null
+}
+@end lilypond
+
+Las instrucciones predefinidas con sus propios marcados pueden
+definirse también para que construyan un índice general más
+complejo. En el ejemplo siguiente se define un estilo nuevo para
+introducir los nombres de los actos de una ópera en el índice
+general:
+
+@noindent
+Una nueva variable de marcado (llamada @code{tocActMarkup}) se
+define en el bloque @code{\paper}:
+
+@verbatim
+\paper {
+ tocActMarkup = \markup \large \column {
+ \hspace #1
+ \fill-line { \null \italic \fromproperty #'toc:text \null }
+ \hspace #1
+ }
+}
+@end verbatim
+
+@noindent
+A continuación se crea una función musical personalizada
+(@code{tocAct}), que usa la nueva definición de marcado
+@code{tocActMarkup}.
+
+@verbatim
+tocAct =
+ #(define-music-function (text) (markup?)
+ (add-toc-item! 'tocActMarkup text))
+@end verbatim
+
+@noindent
+Un archivo de entrada de LilyPond que use estas definiciones
+personalizadas tendría el aspecto siguiente:
+
+@lilypond[line-width=10.0\cm]
+\header { tagline = ##f }
+\paper {
+ tocActMarkup = \markup \large \column {
+ \hspace #1
+ \fill-line { \null \italic \fromproperty #'toc:text \null }
+ \hspace #1
+ }
+}
+
+tocAct =
+#(define-music-function (text) (markup?)
+ (add-toc-item! 'tocActMarkup text))
+
+\book {
+ \markuplist \table-of-contents
+ \tocAct \markup { Atto Primo }
+ \tocItem \markup { Coro. Viva il nostro Alcide }
+ \tocItem \markup { Cesare. Presti omai l'Egizia terra }
+ \tocAct \markup { Atto Secondo }
+ \tocItem \markup { Sinfonia }
+ \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
+ \markup \null
+}
+@end lilypond
+
+
+He aquí un ejemplo de la instrucción @code{\fill-with-pattern}
+usada dentro del contexto de un índice general:
+
+@verbatim
+\paper {
+ tocItemMarkup = \markup { \fill-line {
+ \override #'(line-width . 70)
+ \fill-with-pattern #1.5 #CENTER . \fromproperty #'toc:text \fromproperty #'toc:page
+ }
+ }
+}
+@end verbatim
+
+@seealso
+Archivos de inicio:
+@file{ly/toc-init.ly}.
+
+@predefined