@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
    Translation of GIT committish: a00fb9828b12ac0c12e0aa18628e6cb6eb2dce2f

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  See TRANSLATION for details.
@end ignore

@c \version "2.11.38"

@node Text
@section Text

@lilypondfile[quote]{text-headword.ly}

Esta sección explica cómo incluir texto (con diversos estilos de
formateo) en las partituras.

@noindent
Ciertos elementos de texto de los que no nos ocupamos aquí se tratan
en otras secciones específicas: @ref{Vocal music}, @ref{Titles and
headers}.

@cindex texto, en otros idiomas
@warning{Para escribir texto con caracteres acentuados y especiales
(como los de idiomas distintos del inglés), sencillamente inserte los
caracteres directamente en el archivo de LilyPond.  El archivo se debe
guardar como UTF-8.  Para ver más información, consulte @ref{Text
encoding}.}

@menu
* Writing text::                
* Formatting text::             
* Fonts::                       
@end menu


@node Writing text
@subsection Writing text

Esta sección presenta las distintas formas de añadir texto a una
partitura.

@menu
* Text scripts::
* Text spanners::
* Text marks::
* Separate text::
@end menu

@node Text scripts
@subsubsection Text scripts

@cindex Texto, inscripciones de
@cindex texto, elementos no vacíos de
@cindex no vacíos, textos

Es posible añadir cadenas de texto arbitrarias a una partitura, como
se muestra en el ejemplo siguiente.  Tales indicaciones se pueden
colocar también manulamente encima o debajo del pentagrama utilizando
la sintaxis simple que se describe en @ref{Direction and placement}.

@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
d8^"pizz." e f g a4-"scherz." f
@end lilypond

En LilyPond, estas cadenas de texto se llaman objetos de
@command{markup} o de marcado.  Esta sintaxis es en realidad una
abreviatura; se puede añadir explícitamente a una nota un formateado
de texto más complejo utilizando un bloque @code{\markup}, como se
describe bajo @ref{Formatting text}.

@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
d8^\markup { \italic pizz. } e f g 
a4_\markup { \tiny scherz. \bold molto } f
@end lilypond

De forma predeterminada, las indicaciones de texto no afectan al
espaciado de las notas.  Sin embargo, su anchura sí podría tenerse en
cuenta: en el siguiente ejemplo, la primera cadena de texto no afecta
al espaciado, pero la segunda sí afecta.

@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
d8^"pizz." e f g \textLengthOn a4_"scherzando" f
@end lilypond

@predefined

@funindex \textLengthOn
@code{\textLengthOn},
@funindex \textLengthOff
@code{\textLengthOff}


@seealso

Referencia de la notación:
@ref{Formatting text},
@ref{Direction and placement}.

Fragmentos de código:
@rlsr{Text}.

Referencia de funcionamiento interno:
@rinternals{TextScript}.

@knownissues

La comprobación necesaria para asegurar que las inscripciones de texto
y la letra de las canciones se mantienen dentro de los márgenes, es
una tarea computacional relativamente grande.  Para acelerar el
procesado, LilyPond no realiza estos cálculos de forma predeterminada;
para habilitarlos, utilice

@example
\override Score.PaperColumn #'keep-inside-line = ##t
@end example


@node Text spanners
@subsubsection Text spanners

@cindex text spanners

Ciertas indicaciones de ejecución, p.ej., @i{rallentando} o
@i{accelerando}, se escriben como texto y se extienden sobre muchos
compases mediante líneas de puntos.  Estos objetos, que reciben el
nombre de @q{spanners} u objetos de extensión, se pueden crear dede
una nota hasta otra usando la siguiente sintaxis:

@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
\override TextSpanner #'bound-details #'left #'text = "rit." 
b1\startTextSpan 
e,\stopTextSpan
@end lilypond

@noindent
La cadena de texto que imprimir se establece a través de propiedades
de objeto.  De forma predeterminada se imprime en estilo cursiva, pero
se pueden conseguir distintos efectos de formato utilizando bloques
@code{\markup}, como se describe en @ref{Formatting text}.

@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\override TextSpanner #'bound-details #'left #'text =
  \markup { \upright "rit." } 
b1\startTextSpan c
e,\stopTextSpan
@end lilypond

El estilo de la línea, así como la cadena de texto, se pueden definir
como una propiedad de objeto.  Esta sintaxis se describe en @ref{Line
styles}.

@predefined

@funindex textSpannerUp
@code{\textSpannerUp},
@funindex textSpannerDown
@code{\textSpannerDown},
@funindex textSpannerNeutral
@code{\textSpannerNeutral}

@seealso

Referencia de la notación:
@ref{Line styles}.

Fragmentos de código:
@rlsr{Text}.

Referencia de funcionamiento interno:
@rinternals{TextSpanner}.


@node Text marks
@subsubsection Text marks

@cindex coda sobre la línea divisoria
@cindex segno sobre la línea divisoria
@cindex calderón sobre la línea divisoria
@cindex líneas divisorias, símbolos sobre las
@funindex \mark

Se pueden añadir a la partitura varios elementos de texto con la
sintaxis que se describe en @ref{Rehearsal marks}:

@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
c4\mark "Allegro" c c c
@end lilypond

Esta sintaxis posibilita colocar cualquier texto sobre la línea
divisoria; se pueden incorporar formatos más complejos para el texto
usando un bloque @code{\markup}, como está explicado en
@ref{Formatting text}.  Esto se puede usar para imprimir letraros como
coda, segno o calderón, especificando el nombre del símbolo
correspondiente:

@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
c1 \mark \markup { \musicglyph #"scripts.ufermata" }
c1
@end lilypond

@noindent
Estos objetos se tipografían solamente sobre el pentagrama superior de
la partitura; dependiendo de si están especificados al final o en
medio de un compás, se colocarán sobre la línea divisoria o entra las
notas.  Si se especifican al principio de la partitura o en un salto
de línea, las llamadas se imprimen al principio de la línea (o de la
línea siguiente, en el caso de un salto de línea).

@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
\mark "Allegro" c1
c\mark "assai" \break
c c
@end lilypond


@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{printing-marks-at-the-end-of-a-line-or-a-score.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{aligning-marks-with-various-notation-objects.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{printing-marks-on-every-staff.ly}

@seealso

Referencia de la notación:
@ref{Rehearsal marks},
@ref{Formatting text},
@ref{The Feta font}.

Fragmentos de código:
@rlsr{Text}.

Referencia de funcionamiento interno:
@rinternals{RehearsalMark}.

@knownissues
@c  IMO this is a bug; hopefully it'll be fixed soon, so I can
@c  delete this sentence.   -gp
@c  A workaround is suggested in the first @snippets item -vv

Si se introduce una llamada al final del último compás de la partitura
(donde no hay línea siguiente), la llamada no se imprime en absoluto.

@node Separate text
@subsubsection Separate text

@cindex separate text
@cindex standalone text
@cindex top-level text
@cindex text, standalone
@funindex \markup

Un bloque @code{\markup} puede existir de forma independiente, fuera
de cualquier bloque @code{\score}, como una @qq{expresión de nivel
superior}.  Esta sintaxis se describe en @ref{File structure}.

@lilypond[verbatim,quote]
\markup {
  Tomorrow, and tomorrow, and tomorrow...
}
@end lilypond

@noindent
Esto hace posible imprimir texto separado de la música, lo que es
especialmente útil cuando el archivo de entrada contiene varias
piezas, tal y como se describe en @ref{Multiple scores in a book}.

@lilypond[quote,ragged-right,verbatim]
\score {
  c'1
}
\markup {
  Tomorrow, and tomorrow, and tomorrow...
}
\score {
  c'1
}
@end lilypond

Usando una sintaxis específica, los bloques de texto se pueden
repartir entre varias páginas, posibilitando la impresión de
documentos de texto o libros (y por tanto para usar LilyPond como un
editor de textos).  Esta sintaxis se describe en @ref{Multi-page
markup}.

@predefined

@funindex \markup
@code{\markup},
@funindex \markuplines
@code{\markuplines}

@ignore
@snippets

TODO: add convenient snippets in input/new -vv
@end ignore

@seealso

Referencia de la notación:
@ref{Formatting text},
@ref{File structure},
@ref{Multiple scores in a book},
@ref{Multi-page markup}.

Fragmentos de código:
@rlsr{Text}.

Referencia de funcionamiento interno:
@rinternals{TextScript}.


@node Formatting text
@subsection Formatting text

Esta sección presenta los formateados básico y avanzado de texto,
usando la sintaxis específica del modo de @code{\markup}.

@menu
* Text markup introduction::    
* Common markup commands::      
* Text alignment::              
* Graphic notation inside markup::  
* Music notation inside markup::  
* Multi-page markup::          
@end menu

@node Text markup introduction
@subsubsection Text markup introduction

@cindex marcado
@cindex texto, marcado de
@cindex marcado de texto
@cindex tipografiar texto

Se usa un bloque @code{\markup} para tipografiar texto con una
sintaxis ampliable específica que se denomina @qq{modo de marcado}.

@cindex marcado, expresiones de
@cindex marcado, sintaxis

La sintaxis del marcado es similar a la sintaxis usual de LilyPond:
una expresión @code{\markup} se encierra entre llaves
@code{@{ @dots{}  @}}.

En el modo de marcado, las instrucciones específicas se introducen
mediante la barra invertida @code{\}.  Estas instrucciones sólo
afectan a la primera expresión que venga a continuación.

Las expresiones de marcado también se pueden encerrar entre comillas
@code{"..."}. Estas expresiones se escriben como cadenas de texto y no
pueden contener expresiones anidadas ni otras instrucciones.  Por
tanto, generalmente se prefieren las llaves a las comillas; el ejemplo
siguiente muestra las dos sintaxis.

@lilypond[quote,verbatim,fragment,relative=1]
e1-\markup "intenso"
a2^\markup { poco \italic più forte  }
c e1
d2_\markup { \italic "string. assai" }
e 
b1^\markup { \bold { molto \italic  agitato } }
c
@end lilypond

@cindex caracteres especiales en modo de marcado
@cindex marcado, caracteres especiales en modo de
@cindex reservados, impresión de caracteres
@cindex impresión de caracteres especiales

Los caracteres especiales como @code{\} y @code{#} se pueden imprimir
fácilmente utilizando comillas.  Las propias comillas sólo se imprimen
cuando se preceden por una barra invertida:

@lilypond[quote,verbatim,fragment,relative=1]
\clef bass
a^\markup "##\ LEPORELLO \##"
a_\markup "Bravi! \"Cosa rara\"!"
r a8 d
cis a r4 r2
@end lilypond

La forma en que están definidas las expresiones de marcado afectan a
la manera en que se apilan, se centran o se alinean al usar las
instrucciones descritas en @ref{Text alignment}.

@lilypond[quote,verbatim,fragment,relative=1]
c1^\markup { \column { a bbbb \line { c d } } }
c1^\markup { \center-align { a bbbb c } }
c1^\markup { \line { a b c } }
@end lilypond

No se conservan como independientes aquellas listas de palabras que no
estén encerradas entre comillas o precedidas de una instrucción
previa.  En el ejemplo siguiente, las dos primeras expresiones
@code{\markup} son equivalentes:

@lilypond[quote,verbatim,fragment,relative=1]
c1^\markup { \center-align { a bbb c } }
c1^\markup { \center-align { a { bbb c } } }
c1^\markup { \center-align { a \line { bbb c } } }
@end lilypond


Los marcados se pueden almacenar dentro de variables.  Estas variables
se pueden adjuntar directamente a las notas:

@lilypond[quote,verbatim]
allegro = \markup { \bold \large Allegro }

{
  d''8.^\allegro
  d'16 d'4 r2
}
@end lilypond


@noindent
Se puede encontrar una lista exhaustiva de las instrucciones
específicas de @code{\markup} en @ref{Text markup commands}.


@seealso

En este manual:
@ref{Text markup commands}.

Fragmentos de código:
@rlsr{Text}.

Referencia de funcionamiento interno:
@rinternals{TextScript}.

Archivos de inicio:
@file{scm/@/new@/-markup@/.scm}.


@knownissues

@c FIXME: this is totally deprecated, isn't it? -vv
@c Kerning or generation of ligatures is only done when the @TeX{}
@c backend is used.  In this case, LilyPond does not account for them
@c so texts will be spaced slightly too wide.

@c is the following sentence really relevant? -vv
Los errores de sintaxis para el modo de marcado a menudo producen
confusión.


@node Common markup commands
@subsubsection Common markup commands

UNTRANSLATED NODE: IGNORE ME

@node Text alignment
@subsubsection Text alignment

UNTRANSLATED NODE: IGNORE ME

@node Graphic notation inside markup
@subsubsection Graphic notation inside markup

UNTRANSLATED NODE: IGNORE ME

@node Music notation inside markup
@subsubsection Music notation inside markup

UNTRANSLATED NODE: IGNORE ME

@node Multi-page markup
@subsubsection Multi-page markup

Así como @code{\markup} se utiliza para introducir un bloque de texto
no divisible en líneas, se puede usar @code{\markuplines} en el nivel
más alto del código para introducir líneas de texto que pueden abarcar
varias páginas:

@verbatim
\markuplines {
  \justified-lines {
    Un texto muy largo de líneas justificadas.
    ...
  }
  \justified-lines {
    Otro párrafo muy largo.
    ...
  }
  ...
}
@end verbatim

@code{\markuplines} acepta una lista de marcado, esto es: o bien el
resultado de una instrucción de lista de marcado, o bien una lista de
elementos de marcado o de listas de marcado.  Las instrucciones de
lista de marcad predefinidas se explican en @ref{Text markup list
commands}.

@seealso

En este manual:
@ref{Text markup list commands},
@ref{New markup list command definition}.

Fragmentos de código:
@rlsr{Text}.

@predefined

@funindex \markuplines
@code{\markuplines}



@c TODO: move the following subsubsec into NR3 -vv
@c maybe.  -gp
@node Fonts
@subsection Fonts

@menu
* Entire document fonts::       
* Single entry fonts::          
@end menu

@node Entire document fonts
@subsubsection Entire document fonts

También es posible cambiar la familia predeterminada de la fuente
tipográfica para todo el documento.  Se hace llamando a la función
@code{make-pango-font-tree} desde dentro del bloque @code{\paper}.
Esta función toma los nombres de las familias de fuente que se quieren
usar para el texto en tipo romano, sans-serif y monoespaciado.  Por
ejemplo:

@cindex fuente, establecer la familia de
@cindex Pango


@lilypond[verbatim]
\paper  {
  myStaffSize = #20

  #(define fonts
    (make-pango-font-tree "Times New Roman"
                          "Nimbus Sans"
                          "Luxi Mono"
                           (/ myStaffSize 20)))
}

{
  c'^\markup { roman: foo \sans bla \typewriter bar }
}
@end lilypond

@c we don't do Helvetica / Courier, since GS incorrectly loads
@c Apple TTF fonts


@node Single entry fonts
@subsubsection Single entry fonts

@cindex fuente, selección
@cindex fuente, ampliación
@funindex font-interface

Mediante el ajusta de las propiedades de objeto descritas a
continuación, podemos elegir una fuente de entre las familias
preconfiguradas.  LilyPond contempla de forma predeterminada las
fuentes de música «Feta».  Las fuentes del texto se eligen a través de
Pango/FontConfig.  La fuente de tipo serif predeterminada es New
Century Schoolbook, y las fuentes de tipo sans y máquina de escribir a
lo que tenga por predeterminado la instalación de Pango.


@itemize
@item @code{font-encoding}
es un símbolo que establece la presentación de los glifos.  Sólo se
debería ajustar para seleccionar distintos tipos de fuente que no sean
para texto, p. ej.:

@code{fetaBraces} para las llaves de los pentagramas de piano,
@code{fetaMusic} es la fuente estándar para música, incluidos los
glifos de la música antigua, @code{fetaDynamic} para los matices
dinámicos y @code{fetaNumber} para los números.

@item @code{font-family}
es un símbolo que indica la clase general del tipo.  Están
contempladas @code{roman} (Computer Modern), @code{sans} y
@code{typewriter}.

@item @code{font-shape}
es un símbolo que indica la forma de la fuente.  Están disponibles
normalmente varias formas de tipografía para cada una de las familas
de fuente.  se puede elegir entre @code{italic} (cursiva), @code{caps}
(versalitas) y @code{upright} (recta).

@item @code{font-series}
es un símbolo que indica la serie de la tipografía.  En general
existen varias series de fuente para cada familia y forma de una
tipografía.  Se puede elegir entre @code{medium} (normal) y
@code{bold} (negrita).

@end itemize

Las fuentes que se eligen de esta manera provienen de una hoja de
estilos predefinida.  Si quiere usar una tipografía de fuera de la
hoja de estilos establezca el valor de la propiedad @code{font-name}:

@lilypond[fragment,verbatim]
{
  \override Staff.TimeSignature #'font-name = #"Charter"
  \override Staff.TimeSignature #'font-size = #2
  \time 3/4
  c'1_\markup {
    \override #'(font-name . "Vera Bold")
      { This text is in Vera Bold }
  }
}
@end lilypond

@noindent
Se puede usar cualquier fuente, en la medida en que esté disponible
para Pango/FontConfig.  Para obtener una lista completa de todas las
fuentes dispoonibles, ejecute la instrucción

@example
lilypond -dshow-available-fonts blabla
@end example

(el último argumento puede ser blabla o cualquier otra cosa, pero debe
estar presente).


El tamaño de la fuente se puede ajustar con la propiedad
@code{font-size}.  El tamaño que resulta se considera en relación al
tamaño @code{text-font-size} tal y como está definido en el bloque
@code{\paper}.

@cindex fuente, tamaño de
@cindex fuente, ampliación de la

@seealso

Fragmentos de código:
@rlsr{Text}.

