-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 338edaf1ad2b64605dcdeadb37b4cf17f98fc81a
+ Translation of GIT committish: 3e63320d65c86c823949f70ab9791eab96c98352
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.12.0"
+
@node Working on LilyPond projects
@chapter Working on LilyPond projects
@menu
-* Suggestions for writing LilyPond files::
-* Saving typing with identifiers and functions::
-* Style sheets::
-* Updating old files::
-* Troubleshooting (taking it all apart)::
-* Minimal examples::
+* Suggestions for writing LilyPond files::
+* When things don't work::
+* Scores and parts::
@end menu
@node Suggestions for writing LilyPond files
@section Suggestions for writing LilyPond files
-En este momento está preparado para comenzar a escribir archivos de LilyPond más grandes -- no sólo los
-pequeños ejemplos que aparecen en el tutorial, sino piezas completas --. Pero ¿cómo debe proceder
-para hacerlo?
+En este momento está preparado para comenzar a escribir archivos de
+LilyPond más grandes -- no sólo los pequeños ejemplos que aparecen en
+el tutorial, sino piezas completas --. Pero ¿cómo debe proceder para
+hacerlo?
-En la medida en que LilyPond entienda sus archivos y produzca la salida que usted
-pretendía, realmente no importa mucho qué aspecto tengan sus archivos. Sin embargo
-existen algunas otras cosas a tener en cuenta cuando se escriben archivos de LilyPond.
+En la medida en que LilyPond entienda sus archivos y produzca la
+salida que usted pretendía, realmente no importa mucho qué aspecto
+tengan sus archivos. Sin embargo existen algunas otras cosas a tener
+en cuenta cuando se escriben archivos de LilyPond.
-@itemize @bullet
+@itemize
@item ¿Qué ocurre si comete un fallo? La estructura de un archivo
-lilypond puede hacer que ciertos errores se hagan más fáciles (o más difíciles) de encontrar.
+de LilyPond puede hacer que ciertos errores se hagan más fáciles (o
+más difíciles) de encontrar.
@item ¿Qué ocurre si quiere compartir sus archivos con otras personas?
-De hecho, ¿y si quiere alterar sus propios archivos después de algunos años?
-Algunos archivos de lilypond se comprenden a primera vista;
-otros pueden tenerle rascándose la cabeza
-durante una hora.
-
-@item ¿Qué ocurre si quiere actualizar su archivo de lilypond para poderlo usar con
-una versión más reciente del programa? La sintaxis de la entrada se modifica
-de forma ocasional según lilypond se va perfeccionando. Casi todos los cambios se pueden
-hacer de forma automática con @code{convert-ly}, pero algunos podrían necesitar de una
-ayuda manual. Los archivos de LilyPond se pueden estructurar para que sean
-más fáciles (o más difíciles) de actualizar.
+De hecho, ¿y si quiere alterar sus propios archivos después de algunos
+años? Algunos archivos de LilyPond se comprenden a primera vista;
+otros pueden tenerle rascándose la cabeza durante una hora.
+
+@item ¿Qué ocurre si quiere actualizar su archivo de LilyPond para poderlo usar con
+una versión más reciente del programa? La sintaxis de la entrada se
+modifica de forma ocasional según LilyPond se va perfeccionando. Casi
+todos los cambios se pueden hacer de forma automática con
+@code{convert-ly}, pero algunos podrían necesitar de una ayuda manual.
+Los archivos de LilyPond se pueden estructurar para que sean más
+fáciles (o más difíciles) de actualizar.
+
@end itemize
@menu
-* General suggestions::
-* Typesetting existing music::
-* Large projects::
+* General suggestions::
+* Typesetting existing music::
+* Large projects::
+* Saving typing with variables and functions::
+* Style sheets::
@end menu
Presentamos algunas sugerencias que le pueden servir de ayuda para evitar
o corregir problemas:
-@itemize @bullet
+@itemize
@item @strong{Incluya los números de @code{\version} en todos los archivos}. Dese cuenta de que todas las
-plantillas contienen una cadena como @code{\version "2.11.23"}. Le recomendamos
-mucho que siempre incluya la @code{\version}, sin importar cuán
-pequeño pueda ser su archivo. Desde la experiencia personal podemos decirle que es bastante frustrante
-intentar recordar el número de versión de LilyPond que estaba usando hace unos años.
-@code{convert-ly} requiere que declare
-qué versión de LilyPond utilizó.
-
-@item @strong{Incluya comprobaciones}: @ref{Bar check}, @ref{Octave check} y
-@ref{Barnumber check}. Si
-incluye comprobaciones de vez en cuando, en caso de que cometa un error podrá localizarlo mucho más rápidamente.
-¿Con qué frecuencia es @q{de vez en cuando}? Depende de la complejidad
-de la música. Para una música muy sencilla, quizá tan sólo una o dos veces. Para
-una música muy compleja, quizá a cada compás.
+plantillas contienen información sobre la @code{\version}. Le
+recomendamos mucho que siempre incluya la @code{\version}, sin
+importar cuán pequeño pueda ser su archivo. Desde la experiencia
+personal podemos decirle que es bastante frustrante intentar recordar
+el número de versión de LilyPond que estaba usando hace unos años.
+@code{convert-ly} requiere que declare qué versión de LilyPond
+utilizó.
+
+@item @strong{Incluya comprobaciones}: @ruser{Bar and bar number checks},
+@ruser{Octave checks}. Si incluye comprobaciones de vez en cuando, en
+caso de que cometa un error podrá localizarlo mucho más rápidamente.
+¿Con qué frecuencia es @q{de vez en cuando}? Depende de la
+complejidad de la música. Para una música muy sencilla, quizá tan
+sólo una o dos veces. Para una música muy compleja, quizá a cada
+compás.
@item @strong{Un compás por cada línea de texto}. Si hay algo muy complicado, ya sea
en la propia música
si reelabora la música más tarde.
@item @strong{Separe los trucos} de las definiciones musicales. Consulte
-@ref{Saving typing with identifiers and functions} y
+@ref{Saving typing with variables and functions} y
@ref{Style sheets}.
@end itemize
Si está introduciendo música a partir de una partitura existente (es decir, tipografiando una hoja
de música ya impresa),
-@itemize @bullet
+@itemize
@item Introduzca un sistema del manuscrito (la copia física) cada vez (pero mantenga
-la práctica de escribir un compás por línea de texto), y
-compruebe cada sistema cuando lo haya terminado. Puede usar el comando
-@code{showLastLength} para acelerar el proceso -- ver
-@ref{Skipping corrected music} -- .
+la práctica de escribir un compás por línea de texto), y compruebe
+cada sistema cuando lo haya terminado. Puede usar las instrucciones
+@code{showLastLength} o @code{showFirstLength} para acelerar el
+proceso -- ver @ruser{Skipping corrected music} -- .
@item Defina @code{mBreak = @{ \break @}} e inserte @code{\mBreak}
dentro del archivo de entrada donde el manuscrito tenga un saldo de línea. De esta forma
permitirá a LilyPond colocar los saltos donde éste lo estime
más oportuno.
+@item Al escribir una parte para un instrumento transpositor dentro de una
+variable, se recomienda que las notas estén envueltas dentro de
+
+@example
+\transpose c altura-natural @{...@}
+@end example
+(donde @code{altura-natural} es la afinación natural del instrumento)
+de forma que la música dentro de la variable esté realmente en Do
+mayor. Después podemos volver a transportarlas en sentido inverso
+cuando se utiliza la variable, si es necesario, pero quizá no queramos
+hacerlo (p.ej., al imprimir una partitura en afinación de concierto,
+al convertir una parte de trombón de clave de Sol a clave de Fa,
+etc.). Es menos probable cometer errores en los transportes si toda
+la música que está dentro de las variables se encuentra en un tono
+coherente.
+
+Asimismo, haga los transportes exclusivamente hacia o desde Do mayor.
+Esto significa que aparte de ésta, las únicas tonalidades que usaremos
+serán los tonos de afinación de los instrumentos transpositores: bes
+para una trompeta en Si bemol, aes para un clarinete en La bemol, etc.
+
@end itemize
@subsection Large projects
Al trabajar en proyecto grande se hace esencial tener una estructura clara
-en los archivos de lilypond.
+en los archivos de LilyPond
-@itemize @bullet
+@itemize
@item @strong{Utilice un identificador para cada voz}, con un mínimo de
estructura dentro de la definición. La estructura de la sección
@}
@end example
-@item @strong{Separe los trucos de las definiciones musicales}. Ya se mencionó
-en @ref{General suggestions}, pero para proyectos
-grandes es vital. Quizá tengamos que cambiar la
-definición de @code{fthenp}, pero en ese caso sólo lo tendremos que
-hacer una vez, y aún podremos evitar tocar nada
-dentro de @code{violin}.
+@item @strong{Separe los trucos de las definiciones musicales}.
+Ya se mencionó con anterioridad, pero para proyectos grandes es vital.
+Quizá tengamos que cambiar la definición de @code{fluegop}, pero en ese
+caso sólo lo tendremos que hacer una vez, y aún podremos evitar tocar
+nada dentro de @code{violin}.
@example
-fthenp = _\markup@{
+fluegop = _\markup@{
\dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @}
violin = \relative c'' @{
-g4\fthenp c'8. e16
+g4\fluegop c'8. e16
@}
@end example
@end itemize
-@node Saving typing with identifiers and functions
-@section Saving typing with identifiers and functions
+@node Saving typing with variables and functions
+@subsection Saving typing with variables and functions
@cindex variables
@cindex identificadores
Incluso se dará cuenta de que esto puede ser útil en música minimalista:
@lilypond[quote,verbatim,ragged-right]
-fragA = \relative c'' { a4 a8. b16 }
-fragB = \relative c'' { a8. gis16 ees4 }
-violin = \new Staff { \fragA \fragA \fragB \fragA }
+fragmentA = \relative c'' { a4 a8. b16 }
+fragmentB = \relative c'' { a8. gis16 ees4 }
+violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA }
\score {
{
\violin
@end lilypond
Sin embargo también puede usar estos identificadores (que también se conocen como
-variables, macros o comandos definidos por el usuario) para hacer trucos:
+variables, macros o instrucciones definidas por el usuario) para hacer trucos:
@lilypond[quote,verbatim,ragged-right]
dolce = \markup{ \italic \bold dolce }
@}
@end example
+@c TODO Replace the following with a better example -td
+@c Skylining handles this correctly without padText
+
Hasta ahora hemos contemplado la sustitución estática: cuando LilyPond
se encuentra con @code{\padText}, lo sustituye con aquello que
hemos definido que sea (es decir, todo lo que está a la derecha de
@end lilypond
La utilización de identificadores también es una buena forma de reducir el trabajo si
-la sintaxis de entrada de LilyPond cambia (ver @ref{Updating old files}). Si
+la sintaxis de entrada de LilyPond cambia (véase @ref{Updating old files}). Si
tiene una sola definición (como p.ej. @code{\dolce}) para todos sus
archivos (ver @ref{Style sheets}), y después la sintaxis se modifica, sólo tendrá
que actualizar su definición @code{\dolce} única,
@node Style sheets
-@section Style sheets
+@subsection Style sheets
La salida que produce LilyPond se puede modificar profundamente; consulte
@ref{Tweaking output} para leer detalles sobre este asunto. Pero ¿qué ocurre si tiene muchos
@example
%%% global.ly
-\version "2.11.23"
+\version @w{"@version{}"}
#(ly:set-option 'point-and-click #f)
\include "../iniciar/iniciar-definiciones.ly"
\include "../iniciar/iniciar-disposicion.ly"
@end example
+@node When things don't work
+@section When things don't work
+
+@menu
+* Updating old files::
+* Troubleshooting (taking it all apart)::
+* Minimal examples::
+@end menu
+
@node Updating old files
-@section Updating old files
+@subsection Updating old files
La sintaxis de la entrada de LilyPond cambia de manera ocasional. A medida que el propio
LilyPond mejora, la sintaxis (el lenguaje de la entrada) se modifica en consonancia. A
Por ejemplo, en la versión 2.4 y anteriores de LilyPond,
los acentos y las letras no inglesas se introducían utilizando
-LaTeX: por ejemplo, @samp{No\"el} (que significa @q{Navidad} en francés).
-En LilyPond 2.6 y siguientes, el carácter especial @samp{ë}
+LaTeX: por ejemplo, @code{No\"el} (que significa @q{Navidad} en francés).
+En LilyPond 2.6 y siguientes, el carácter especial @code{ë}
debe introducirse directamente en el archivo de LilyPond como un carácter UTF-8.
@code{convert-ly} no puede cambiar todos los caracteres especiales
de LaTeX a caracteres de UTF-8; tendrá que actualizar manualmente
@node Troubleshooting (taking it all apart)
-@section Troubleshooting (taking it all apart)
+@subsection Troubleshooting (taking it all apart)
Antes o después escribirá un archivo que LilyPond no podrá compilar.
Los mensajes que LilyPond proporciona pueden ayudarle a encontrar el
@node Minimal examples
-@section Minimal examples
+@subsection Minimal examples
Un ejemplo mínimo es un ejemplo tan pequeño como sea posible. Estos
ejemplos son mucho más fáciles de comprender que los ejemplos largos. Los ejemplos
@itemize
@item Evite usar notas, tonalidades o compases demasiado complicados, a no ser que quiera
demostrar algo sobre el comportamiento de estos elementos precisamente.
-@item No use comandos @code{\override} a no ser que ése sea el propósito
+@item No use instrucciones @code{\override} a no ser que ése sea el propósito
del ejemplo.
@end itemize
+@node Scores and parts
+@section Scores and parts
+
+En música orquestal, todas las notas se imprimen dos veces. Una vez
+en las particellas para los músicos, y otra para la partitura del director.
+Los identificadores se pueden usar para evitar la duplicación del trabajo.
+La música se escribe una vez y se almacena en una variable.
+El contenido de dicha variable se usa después para generar tanto la particella como la partitura del director.
+
+Es muy conveniente definir las notas en un archivo especial. Por
+ejemplo, supongamos que el archivo @file{trompa.ly} contiene la
+siguiente parte de un dúo para trompa y fagot:
+
+@example
+notasTrompa = \relative c @{
+ \time 2/4
+ r4 f8 a cis4 f e d
+@}
+@end example
+
+@noindent
+Luego se hace una particella escribiendo en un archivo lo siguiente
+
+@example
+\include "trompa.ly"
+\header @{
+ instrument = "Trompa en Fa"
+@}
+
+@{
+ \transpose f c' \notasTrompa
+@}
+@end example
+
+La línea
+
+@example
+\include "trompa.ly"
+@end example
+
+@noindent
+sustituye el contenido de @file{trompa.ly} en esta posición dentro del
+archivo, así que @code{notasTrompa} se define con posterioridad. La
+instrucción @code{\transpose f@tie{}c'} indica que el argumento
+constituido por @code{\notasTrompa} se debe transponer una quinta
+hacia arriba. Lo que suena como @code{f} se escribe como @code{c'},
+lo que corresponde con el tono de afinación de una trompa normal
+en@tie{}Fa. La transposición se puede ver en la siguiente salida
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+ \time 2/4
+ r4 f8 a cis4 f e d
+}
+@end lilypond
+
+En piezas para conjunto, con frecuencia una de las voces no suena durante muchos compases.
+Esto queda denotado por un silencio especial, el silencio multicompás.
+Se introduce con una @code{R} mayúscula seguida de una duración
+(@code{1}@tie{}en el caso de la redonda, @code{2}@tie{}en el caso de una blanca,
+etc.). Multiplicando la duración se pueden construir
+silencios más largos. Por ejemplo, este silencio ocupa
+3@tie{}compases de 2/4
+
+@example
+R2*3
+@end example
+
+Cuando se imprime la particella tienen que comprimirse los silencios
+multicompás. Esto se hace estableciendo una variable en tiempo de ejecución
+
+@example
+\set Score.skipBars = ##t
+@end example
+
+@noindent
+Esta instrucción establece el valor de la propiedad @code{skipBars} en el
+contexto de @code{Score} a verdadero (@code{##t}). Anteponiendo el silencio y
+esta opción a la música anterior, llegamos al siguiente resultado
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+ \time 2/4
+ \set Score.skipBars = ##t
+ R2*3
+ r4 f8 a cis4 f e d
+}
+@end lilypond
+
+
+Esta partitura se hace combinando toda la música junta. Suponiendo
+que la otra voz se encuentra dentro de @code{notasFagot} en el archivo
+@file{fagot.ly}, la partitura se hace con
+
+@example
+\include "fagot.ly"
+\include "trompa.ly"
+
+<<
+ \new Staff \notasTrompa
+ \new Staff \notasFagot
+>>
+@end example
+
+@noindent
+lo que nos lleva a
+
+@lilypond[quote,ragged-right]
+\relative c <<
+ \new Staff {
+ \time 2/4 R2*3
+ r4 f8 a cis4 f e d
+ }
+ \new Staff {
+ \clef bass
+ r4 d,8 f | gis4 c | b bes |
+ a8 e f4 | g d | gis f
+ }
+>>
+@end lilypond