From 550cfe95b25d610b64f0cd252053edebd9a1c09d Mon Sep 17 00:00:00 2001 From: Francisco Vila Date: Fri, 12 Feb 2010 17:49:26 +0100 Subject: [PATCH 1/1] Doc-es: some updates to Usage. --- Documentation/es/usage/external.itely | 645 +++++++++++++++++++++++ Documentation/es/usage/suggestions.itely | 628 ++++++++++++++++++++++ Documentation/es/usage/updating.itely | 278 ++++++++++ 3 files changed, 1551 insertions(+) create mode 100644 Documentation/es/usage/external.itely create mode 100644 Documentation/es/usage/suggestions.itely create mode 100644 Documentation/es/usage/updating.itely diff --git a/Documentation/es/usage/external.itely b/Documentation/es/usage/external.itely new file mode 100644 index 0000000000..24960238ae --- /dev/null +++ b/Documentation/es/usage/external.itely @@ -0,0 +1,645 @@ +@c -*- coding: utf-8; mode: texinfo; -*- + +@ignore + Translation of GIT committish: FILL-IN-HEAD-COMMITTISH + + 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.12.0" + +@node Programas externos +@chapter Programas externos +@translationof External programs + +@c FIXME: blah blah + +@menu +* Apuntar y pulsar:: +* Apoyo respecto de los editores de texto:: +* Conversión desde otros formatos:: +* Salida de LilyPond dentreo de otros programas:: +* Archivos include independientes:: +@end menu + + +@node Apuntar y pulsar +@section Apuntar y pulsar +@translationof Point and click +@cindex apuntar y pulsar + + +«Point and click» (apuntar y pulsar con el ratón) le da la posibilidad +de localizar notas del código de entrada pulsando sobre ellas dentro +del visor de PDF. Ello facilita encontrar los fragmentos de la +entrada que producen algún tipo de error en la partitura. + +Cuando esta funcionalidad está activada, LilyPond añade hiper-enlaces +al archivo PDF. Estos hiper-enlaces se envían al navegador de web, que +a su vez abre un editor de texto con el cursor situado en el lugar +correcto. + +Para conseguir que esta cadena funcione, tendrá que configurar el +visor de PDF de forma que siga los hiper-enlaces usando el guión +@file{lilypond-invoke-editor} proporcionado con LilyPond. + +Para Xpdf sobre Unix, lo siguiente debe estar presente en +@file{xpdfrc}@footnote{En Unix, este archivo se encuentra o bien en +@file{/etc/xpdfrc} o como @file{.xpdfrc} en su directorio personal.} + +@example +urlCommand "lilypond-invoke-editor %s" +@end example + +El programa @file{lilypond-invoke-editor} es un pequeño programa de +apoyo. Invoca un editor para las URIs especiales de @code{textedit}, y +lanza un navegador de web para el resto. Comprueba la variable de +entorno @code{EDITOR} en busca de los siguientes patrones, + +@table @code +@item emacs + esto invoca a +@example +emacsclient --no-wait +@var{línea}:@var{columna} @var{archivo} +@end example +@item vim + esto invoca a +@example +gvim --remote +:@var{línea}:norm@var{carácter} @var{archivo} +@end example + +@item nedit +esto invoca a +@example + nc -noask +@var{línea} @var{archivo}' +@end example +@end table + +La variable de entorno @code{LYEDITOR} se utiliza para sobreescribir +esto. Contiene la instrucción de línea de órdenes para abrir el +editor, donde @code{%(archivo)s}, @code{%(columna)s} y +@code{%(línea)s} se sustituyen por el archivo, columna y línea +respectivamente. El ajuste + +@example +emacsclient --no-wait +%(línea)s:%(columna)s %(archivo)s +@end example + +@noindent +para @code{LYEDITOR} equivale a la invocación estándar de +emacsclient. + + +@cindex archivo de salida, tamaño del + +Los enlaces de apuntar y pulsar aumentan significativamente el tamaño +de los archivos de salida. Para reducir el tamaño de los archivos PDF +y PS, la posibilidad de apuntar y pulsar se puede desactivar +escribiendo + +@example +\pointAndClickOff +@end example + +@noindent +dentro de un archivo @file{.ly}. Se puede activar explícitamente la +posibilidad de apuntar y pulsar con + +@example +\pointAndClickOn +@end example + +De forma alternativa, puede desactivar la posibilidad de apuntar y +pulsar con una opción de la línea de órdenes: + +@example +lilypond -dno-point-and-click archivo.ly +@end example + +@warning{Recuerde desactivar siempre la posibilidad Apuntar y pulsar +en cualquier archivo de LilyPond que vaya a ser distribuido, para +evitar incluir información de rutas de archivo relativas a su equipo +dentro del archivo .pdf, lo que puede plantear un problema de +seguridad.} + + + +@node Apoyo respecto de los editores de texto +@section Apoyo respecto de los editores de texto +@translationof Text editor support + +@cindex editores +@cindex vim +@cindex emacs +@cindex modos del editor +@cindex sintaxis, resaltado de +@cindex colores, sintaxis + +Existe apoyo por parte de varios editores de texto para LilyPond. + +@menu +* Modo de Emacs:: +* Modo de Vim:: +* jEdit:: +* TexShop:: +* TextMate:: +* LilyKDE:: +@end menu + +@node Modo de Emacs +@subsection Modo de Emacs +@translationof Emacs mode + +Emacs tiene un @file{lilypond-mode}, que proporciona autocompleción de +teclado, sangrado, compensación de paréntesis específica de LilyPond y +resaltado de sintaxis con colores, útiles combinaciones de teclas para +compilar y leer los manuales de LilyPond utilizando Info. Si el +@file{lilypond-mode} no está instalado en su sistema, siga leyendo. + +Está incluido un modo de Emacs para escribir música y ejecutar +LilyPond, en el archivo del código fuente dentro del directorio +@file{elisp}. Haga @command{make install} para instalarlo dentro de +@var{elispdir}. El archivo @file{lilypond-init.el} se debe situar en +@var{load-path}@file{/site-start.d/} o añadirse a su @file{~/.emacs} o +@file{~/.emacs.el}. + +Como usuario, puede querer añadir su ruta a las fuentes +(p.ej. @file{~/site-lisp/}) a su @var{load-path} añadiendo la +siguiente línea (modificada) a su @file{~/.emacs} + +@c any reason we do not advise: (push "~/site-lisp" load-path) +@example +(setq load-path (append (list (expand-file-name "~/site-lisp")) load-path)) +@end example + + +@node Modo de Vim +@subsection Modo de Vim +@translationof Vim mode + +Para @uref{http://@/www@/.vim@/.org,VIM} se proporciona un +@file{vimrc}, junto con herramientas de resaltado de sintaxis con +colores. Se encuentra incluido un modo de Vim para escribir música y +ejecutar LilyPond, dentro del archivo de código fuente, en el +directorio @code{$VIM}. + +El tipo de archivo de LilyPond se detecta si el archivo +@file{~/.vim/filetype.vim} tiene el siguiente contenido + +@example +if exists("did_load_filetypes") + finish +endif +augroup filetypedetect + au! BufNewFile,BufRead *.ly,*.ily setf lilypond +augroup END +@end example + +Incluya esta ruta añadiendo la siguiente línea a su @file{~/.vimrc} + +@example +set runtimepath+=/usr/local/share/lilypond/$@{LILYPOND_VERSION@}/vim/ +@end example + +@noindent +donde $@{LILYPOND_VERSION@} es su versión de lilypond. Si LilyPond no +se instaló en su momento en @file{/usr/local/}, cambie esta ruta de la +forma correspondiente. + +En Fedora, la ruta apunta a la versión actual de Vim en lugar de +LilyPond: + +@example +set runtimepath+=/usr/share/vim/vim72/ +@end example + + +@node Otros editores +@unnumberedsubsec Otros editores +@translationof Other editors + +Otros editores (de texto así como gráficos) tienen apoyo para +LilyPond, pero sus archivos de configuración especiales no se +distribuyen con LilyPond. Debe consultar la documentación de estos +programas para obtener más información. Estos editores se encuentran +relacionaddos en @rweb{Entornos mejorados}. + + +@node Conversión desde otros formatos +@chapter Conversión desde otros formatos +@translationof Converting from other formats + +También se puede escribir la música a través de su importación desde +otros formatos. Este capítulo trata de documentar las herramientas +incluidas en la distribución que permiten hacerlo. Existen otras +herramientas que producen código de entrada de LilyPond, como por +ejemplo secuenciadores con interfaz gráfico y convertidores de XML. +Consulte el @uref{http://@/lilypond@/.org,website} para ver más +detalles. + +Son programas distintos a @command{lilypond} propiamente dicho, y se +ejecutan desde la línea de órdenes; consulte @ref{Utilización desde la +línea de órdenes} para ver más información. Si tiene MacOS 10.3 o +10.4 y tiene problemas para ejecutar alguno de estos guiones, +p.ej. @code{convert-ly}, consulte @ref{Configuración para MacOS X}. + + +@knownissues +Por desgracia no disponemos de los recursos necesarios para poder +mantener estos programas; le rogamos que los tome @qq{tal cual +están}. Se agradecerá el envío de parches correctores, pero los +informes de fallo casi con certeza no se resolverán a medio plazo. + +@menu +* Invocar midi2ly:: Importar archivos MIDI. +* Invocar musicxml2ly:: Importar archivos MusicXML. +* Invocar abc2ly:: Importar archivos ABC. +* Invocar etf2ly:: Importar archivos de Finale. +* Otros formatos:: +@end menu + + + + +@node Invocar midi2ly +@section Invocar @command{midi2ly} +@translationof Invoking midi2ly + +@cindex MIDI + +@command{midi2ly} traduce un archivo MIDI de tipo@tie{}1 a un archivo +de código fuente de LilyPond. + +El MIDI (Music Instrument Digital Interface, Interfase Digital para +Instrumentos Musicales) es un estándar para instrumentos digitales: +especifica la interconexión física, un protocolo en serie y un formato +de archivo. El formato de archivo MIDI es un formato estándar de +facto para exportar música de otros programas, por lo que esta +posibilidad puede ser de utilidad al importar archivos de un programa +que tiene un convertidor para un formato directo. + +@command{midi2ly} convierte las pistas en contextos de +@rinternals{Staff}) y los canales en contextos de +@rinternals{Voice}. Se utiliza el modo relativo para las alturas, y +las duraciones se escriben solamente cuando es necesario. + +Es posible grabar un archivo MIDI usando un teclado digital y +convertirlo después a @file{.ly}. Sin embargo, los intérpretes +humanos no son lo suficientemente exactos desde el punto de vista +rítmico como para hacer que sea trivial la conversión de MIDI a LY. +Si se invoca con las opciones de cuantización (@code{-s} y @code{-d}), +@command{midi2ly} intenta compensar los errores de medida, pero no lo +hace muy bien. Por ello, no se recomienda usar @command{midi2ly} para +archivos midi generados por seres humanos. + + +Se invoca a partir de la línea de órdenes como sigue: +@example +midi2ly [@var{opción}]@dots{} @var{archivo_midi} +@end example + +Observe que al decir @q{línea de órdenes}, queremos decir la línea de +órdenes del sistema operativo. Consulte @ref{Conversión desde otros +formatos} para ver más información sobre esto. + +@command{midi2ly} contempla las siguientes opciones: + +@table @code +@item -a, --absolute-pitches +Imprimir alturas absolutas. + +@item -d, --duration-quant=@var{DURACIÓN} +Cuantizar las duraciones a @var{DURACIÓN}. + +@item -e, --explicit-durations +Imprimir valores de figura explícitos. + +@item -h,--help +Mostrar un resumen de las instrucciones de utilización. + +@item -k, --key=@var{alteración}[:@var{minor}] +Establecer la tonalidad predeterminada. @math{@var{alteración} > 0} +establece el número de sostenidos; @math{@var{alteración} < 0} +establece el número de bemoles. Se indica una tonalidad menor +mediante @code{:1}. + +@item -o, --output=@var{archivo} +Escribir la salida en @var{archivo}. + +@item -s, --start-quant=@var{DURACIÓN} +Cuantizar el inicio de las notas a @var{DURACIÓN}. + +@item -t, --allow-tuplet=@var{DURACIÓN}*@var{NUMERADOR}/@var{DENOMINADOR} +Permitir duraciones de grupos especiales @var{DURACIÓN}*@var{NUMERADOR}/@var{DENOMINADOR}. + +@item -v, --verbose +Ser prolijo en comentarios. + +@item -V, --version +Imprimir el número de la versión. + +@item -w, --warranty +Presentar la garantía y el copyright. + +@item -x, --text-lyrics +Tratar todos los textos como letra de la canción. +@end table + + +@knownissues + +Las notas superpuestas en un arpegio no se procesarán correctamente. +La primera nota se lee y el resto se ignoran. Aplique la misma +duración a todas las notas y añada marcas de fraseo o indicaciones de +pedal. + + +@node Invocar musicxml2ly +@section Invocar @command{musicxml2ly} +@translationof Invoking musicxml2ly + +@cindex MusicXML + +@uref{http://@/www.@/musicxml@/.org/,MusicXML} es un +dialecto del XML para representar notación musical. + +@command{musicxml2ly} extrae las notas, articulaciones, estructura de +la partitura, letra, etc., de archivos de MusicXML parte a parte, y +los escribe en un archivo .ly. Se invoca a través de la línea de +órdenes. + +La invocación desde la línea de órdenes se hace como sigue: + +@example +musicxml2ly [@var{opción}]@dots{} @var{archivo_xml} +@end example + +Observe que por @q{línea de órdenes}, nos referimos a la línea de +órdenes del sistema operativo. Consulte @ref{Conversión desde otros +formatos}, para obtener más información acerca de esto. + +Si el nombre de archivo proporcionado es @file{-}, +@command{musicxml2ly} lee la entrada desde la entrada estándar. + +@command{musicxml2ly} contempla las siguientes opciones: + +@table @code +@item -a, --absolute +convertir las alturas en modo absoluto. + +@item -h,--help +mostrar un resumen de la utilización y las opciones. + +@item -l, --language=IDIOMA +utilizar un archivo de idioma distinto 'IDIOMA.ly' y los +correspondientes nombres de nota, p.ej. 'deutsch' para deutsch.ly y +los nombres de nota en alemán. + +@item --lxml +usar el paquete de Python lxml.etree para el análisis de XML; usa +menos memoria y tiempo de CPU. + +@item --nd --no-articulation-directions +no convertir las direcciones (@code{^}, @code{_} o @code{-}) para las +articulaciones, dinámica, etc. + +@item --no-beaming +no convertir la información de las barras, en vez de ello usar el +barrado automático de LilyPond. + +@item -o,--output=@var{archivo} +fijar el nombre del archivo de salida como @var{archivo}. Si +@var{archivo} es @file{-}, la salida se imprime sobre stdout, la +salida estándar. Si no se da, se usa @var{archivo_xml}@file{.ly}. + +@item -r,--relative +convertir las alturas en modo relativo (predeterminado). + +@item -v,--verbose +ser prolijo. + +@item -v,--version +imprimir la información de la versión. + +@item -z,--compressed +el archivo de entrada es un archivo MusicXML comprimido en zip. +@end table + + + +@node Invocar abc2ly +@section Invocar @code{abc2ly} +@translationof Invoking abc2ly + +@cindex ABC + +ABC es un formato bastante simple basado en ASCII. Se encuentra +descrito en el sitio web de ABC: + +@quotation +@uref{http://@/www@/.walshaw@/.plus@/.com/@/abc/@/learn@/.html}. +@end quotation + +@command{abc2ly} convierte ABC en LilyPond. Se invoca de la siguiente +manera: + +@example +abc2ly [@var{opción}]@dots{} @var{archivo_abc} +@end example + +@command{abc2ly} contempla las siguientes opciones: + +@table @code +@item -b,--beams=None +preservar la noción de ABC de las barras +@item -h,--help +esta ayuda +@item -o,--output=@var{archivo} +fijar el nombre del archivo de salida como @var{archivo}. +@item -s,--strict +ser estricto respecto al éxito +@item --version +imprimir la información de la versión. +@end table + +Existe una posibilidad rudimentaria para añadir código de LilyPond el +archivo fuente de ABC. Si decimos: + +@example +%%LY voices \set autoBeaming = ##f +@end example + +Producirá que el texto que sigue a la palabra clave @q{voices} se +inserte en la voz en curso del archivo de salida de LilyPond. + +De forma similar, + +@example +%%LY slyrics más palabras +@end example + +producirá que el texto que sigue a la palabra clave @q{slyrics} se +inserte en la línea de letra en curso. + + +@knownissues + +El estándar ABC no es muy @q{estándar}. Existen diferentes +convenciones para las posibilidades avanzadas (por ejemplo, +polifonía). + + +No se pueden convertir varias melodías de un solo archivo. + +ABC sincroniza las letras y las notas al principio de una línea; +@command{abc2ly} no lo hace. + +@command{abc2ly} ignora el barrado de ABC. + + +@node Invocar etf2ly +@section Invocar @command{etf2ly} +@translationof Invoking etf2ly + +@cindex ETF +@cindex enigma +@cindex Finale +@cindex Coda Technology + +ETF (Enigma Transport Format) es un formato utilizado por Finale, un +producto de Coda Music Technology. @command{etf2ly} convierte parte +de un archivo ETF en un archivo de LilyPond listo para usar. + +Se invoca a través de la línea de órdenes como sigue: + +@example +etf2ly [@var{opción}]@dots{} @var{archivo_etf} +@end example + +Observe que por @q{línea de órdenes}, nos referimos a la línea de +órdenes del sistema operativo. Consulte @ref{Conversión desde otros +formatos}, para obtener más información acerca de esto. + +@command{etf2ly} contempla las siguientes opciones: + +@table @code +@item -h,--help +esta ayuda +@item -o,--output=@var{ARCHIVO} +fijar el nombre del archivo de salida como @var{ARCHIVO} +@item --version +información de la versión +@end table + + +@knownissues + +La lista de inscripciones de articulación posibles es incompleta. Los +compases vacíos confunden a @command{etf2ly}. Las secuencias de notas +de adorno no se dan por finalizadas satisfactoriamente. + + + +@node Otros formatos +@subsection Otros formatos +@translationof Other formats + +@cindex programas externos, generación de archivos de LilyPond + +El propio LilyPond no contempla la utilización de ningún otro formato, +pero existen algunas herramientas externas que también generan +archivos de LilyPond. + +Se encuentran relacionados en la sección @rweb{Entornos mejorados}. + + + +@node Salida de LilyPond dentro de otros programas +@section Salida de LilyPond dentro de otros programas +@translationof LilyPond output in other programs + +Esta sección presenta métodos para integrar texto y música distintos +del método automatizado con @command{lilypond-book}. + +@menu +* Muchas citas de una partitura extensa:: +* Insertar la salida de LilyPond dentro de OpenOffice.org:: +* Insertar la salida de LilyPond dentro de otros programas:: +@end menu + +@node Muchas citas de una partitura extensa +@unnumberedsubsec Muchas citas de una partitura extensa +@translationof Many quotes from a large score + +Si tiene que citar muchos fragmentos extraídos de una partitura grade, +puede también usar la capacidad de recorte de sistemas, véase +@ruser{Extracción de fragmentos de música}. + + +@node Insertar la salida de LilyPond dentro de OpenOffice.org +@unnumberedsubsec Insertar la salida de LilyPond dentro de OpenOffice.org +@translationof Inserting LilyPond output into OpenOffice.org + +@cindex OpenOffice.org + +Se puede añadir notación de LilyPond a los documentos de +OpenOffice.org con +@uref{http://@/ooolilypond@/.sourceforge@/.net@/,OOoLilyPond}. + + +@node Insertar la salida de LilyPond dentro de otros programas +@unnumberedsubsec Insertar la salida de LilyPond dentro de otros programas +@translationof Inserting LilyPond output into other programs + +Para insertar la salida de LilyPond dentro de otros programas, use +@code{lilypond} en vez de @code{lilypond-book}. Cada ejemplo debe +crearse individualmente y añadirse al documento; consulte la +documentación del programa correspondiente. La mayoría de los +programas podrán insertar la salida de LilyPond en los formatos +@file{PNG}, @file{EPS} o @file{PDF}. + +Para reducir el espacio vacío alrededor de la partitura de LilyPond, +utilice las siguientes opciones: + +@example +\paper@{ + indent=0\mm + line-width=120\mm + oddFooterMarkup=##f + oddHeaderMarkup=##f + bookTitleMarkup = ##f + scoreTitleMarkup = ##f +@} + +@{ c1 @} +@end example + +Para obtener un archivo @file{EPS} que sea útil, utilice + +@example +lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts miarchivo.ly + +@file{PNG}: +lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts --png miarchivo.ly +@end example + + +@node Archivos include independientes +@section Archivos @code{include} independientes +@translationof Independent includes + +@c FIXME: blah blah + +@menu +* Articulación MIDI:: +@end menu + + +@node Articulación MIDI +@subsection Articulación MIDI +@translationof MIDI articulation + +@c stub for info about Dr. Peter Chubb's @file{articulate.ly} + diff --git a/Documentation/es/usage/suggestions.itely b/Documentation/es/usage/suggestions.itely new file mode 100644 index 0000000000..772c6158b4 --- /dev/null +++ b/Documentation/es/usage/suggestions.itely @@ -0,0 +1,628 @@ +@c -*- coding: utf-8; mode: texinfo; -*- + +@ignore + Translation of GIT committish: FILL-IN-HEAD-COMMITTISH + + 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.12.0" + +@node Sugerencias para escribir archivos de entrada de LilyPond +@section Sugerencias para escribir archivos de entrada de LilyPond +@translationof Suggestions for writing LilyPond input 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 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 +@item ¿Qué ocurre si comete un fallo? La estructura de un archivo +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. + +@end itemize + +@menu +* Sugerencias de tipo general:: +* Tipografiar música existente:: +* Proyectos grandes:: +* Ahorrar tecleo mediante variables y funciones:: +* Hojas de estilo:: +@end menu + + +@node Sugerencias de tipo general +@subsection Sugerencias de tipo general +@translationof General suggestions + +Presentamos algunas sugerencias que le pueden servir de ayuda para evitar +o corregir problemas: + +@itemize +@item @strong{Incluya los números de @code{\version} en todos los archivos}. Dése cuenta de que todas las +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{Comprobación de compás y de número de compás}, +@ruser{Comprobación de octava}. 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 o en la salida que desea producir, a menudo +conviene escribir un solo compás por cada línea. El ahorro en espacio +de pantalla que se obtiene al amontonar ocho compases por línea no +merece la pena si luego tiene que @q{depurar} los archivos. + +@item @strong{Comente los archivos}. Utilice o números de compás (de vez en cuando) +o referencias a temas musicales (@q{segundo tema de los violines,} +@q{cuarta variación,} etc.). Puede que no necesite comentarios cuando +introduce una pieza por vez primera, pero si quiere volver a ella o +modificar algo al cabo de dos o tres años, y también si le pasa la +fuente a un amigo, será todo un desafío determinar sus intenciones o +de qué manera estaba estructurado el archivo si no le añadió los +comentarios. + +@item @strong{Aplique márgenes a las llaves}. Muchos problemas están causados por una +falta de equilibrio en el número de @code{@{} y @code{@}}. + +@item @strong{Escriba las duraciones explícitamente} al comienzo de las secciones +e identificadores. Si especifica @code{c4 d e} al principio de una +frase (en lugar de sólo @code{c d e}) se puede ahorrar problemas si +reelabora la música más tarde. + +@item @strong{Separe los trucos} de las definiciones musicales. Consulte +@ref{Ahorrar tecleo mediante variables y funciones} y +@ref{Hojas de estilo}. + +@end itemize + + +@node Tipografiar música existente +@subsection Tipografiar música existente +@translationof Typesetting existing music + +Si está introduciendo música a partir de una partitura existente (es +decir, tipografiando una hoja de música ya impresa), + +@itemize + +@item Introduzca en LilyPond un sistema del manuscrito, o copia física, de +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 +las propiedades @code{showLastLength} o @code{showFirstLength} para +acelerar el proceso (véase @ruser{Saltar la música corregida}). + +@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 le resultará mucho más fácil comparar la música +de LilyPond con la original. Cuando haya terminado de revisar su +partitura podrá definir @code{mBreak = @{ @}} para quitar todos esos +saltos de línea. Así 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 + +@noindent +(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 + + + +@node Proyectos grandes +@subsection Proyectos grandes +@translationof Large projects + +Al trabajar en proyectos grandes se hace esencial tener una estructura +clara en los archivos de LilyPond: + +@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 +@code{\score} es la que cambiará con mayor probabilidad; por contra, es +extremadamente improbable que cambie la definición de @code{violin} en +versiones nuevas de LilyPond. + +@example +violin = \relative c'' @{ +g4 c'8. e16 +@} +... +\score @{ + \new GrandStaff @{ + \new Staff @{ + \violin + @} + @} +@} +@end example + +@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 +fluegop = _\markup@{ + \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @} +violin = \relative c'' @{ +g4\fluegop c'8. e16 +@} +@end example + +@end itemize + + +@node Solución de problemas +@section Solución de problemas +@translationof Troubleshooting + +Antes o después escribirá un archivo que LilyPond no podrá compilar. +Los mensajes que LilyPond proporciona pueden ayudarle a encontrar el +error, pero en muchos casos tendrá que llevar a cabo algún tipo de +investigación para determinar el origen del problema. + +Las herramientas más poderosas para este cometido son el comentario de +una sola línea (indicado por @code{%}) y el comentario de bloque +(indicado por @code{%@{ ... %@}}). Si no sabe dónde está el problema, +comience convirtiendo grandes secciones del archivo de entrada en un +comentario. Después de eliminar una sección convirtiéndola en un +comentario, pruebe a compilar el archivo otra vez. Si funciona, +entonces el problema debía estar en la porción que había eliminado. +Si no funciona, continúe eliminando material (transformándolo en +comentarios) hasta que tenga algo que funcione. + +En un caso extremo podría terminar con sólo + +@example +\score @{ + << + % \melodia + % \armonia + % \bajo + >> + \layout@{@} +@} +@end example + +@noindent +(en otras palabras: un archivo sin música) + +Si ocurre esto, no abandone. Descomente un trozo pequeño -- digamos +la parte del bajo -- y observe si funciona. Si no es así, transforme +en comentarios toda la música del bajo (pero deje el @code{\bajo} de +la sección @code{\score} no comentado. + +@example +bajo = \relative c' @{ +%@{ + c4 c c c + d d d d +%@} +@} +@end example + +Ahora empiece poco a poco descomentando cada vez más fracciones de la +parte del @code{bajo} hasta que encuentre la línea del problema. + +Otra técnica de depuración muy útil es la construcción de +@ref{Ejemplos mínimos}. + + +@node Make y los Makefiles +@section Make y los Makefiles +@translationof Make and Makefiles + +@cindex make, archivos de +@cindex make + +Posiblemente todas las plataformas en que puede correr LilyPond, +contemplan una posibilidad de software llamada @code{make}. Este +programa lee un archivo especial llamado @code{Makefile} que define +las relaciones de dependencia entre los archivos y qué instrucciones +necesitamos dar al sistema operativo para producir un archivo a partir +de otro. Por ejemplo, el archivo de make detallaría cómo obtener +@code{balada.pdf} y @code{balada.midi} a partir de @code{balada.ly} +mediante la ejecución de Lilypond. + +Existen ocasiones en las que es buena idea crear un @code{Makefile} +para nuestro proyecto, bien sea por nuestra propia comodidad o como +cortesía para otros que posiblemente tengan acceso a nuestros archivos +fuente. Esto es cierto para proyectos muy grandes con muchos archivos +de inclusión y distintas opciones de salida (p.ej. partitura completa, +particellas, partitura del director, reducción para piano, etc.), o +para proyectos que requieren instrucciones difíciles para montarlas +(como los proyectos de @code{lilypond-book}). La complejidad y +flexibilidad de los Makefiles varía enormemente según las necesidades +y la habilidad de los autores. El programa GNU Make viene instalado +en las distribuciones de GNU/Linux y en MacOS X, y también existe para +Windows. + +Consulte el @strong{Manual de GNU Make} para ver todos los detalles +sobre el uso de @code{make}, pues lo que sigue a continuación ofrece +solamente una pincelada de todo lo que es capaz de hacer. + +Las instrucciones que definen las reglas en un archivo de make +difieren en función de la plataforma; por ejemplo, las distintas +formas de Linux y MacOS usan @code{bash}, mientras que Windows usa +@code{cmd}. Observeque en MacOS X, tenemos que configurar el sistema +para que utilice el intérprete de órdenes. A continuación presentamos +algunos makefiles de ejemplo, con versiones tanto para Linux/MacOS +como para Windows. + +El primer ejemplo es para una obra orquestal en cuatro movimientos con +la estructura de directorios siguiente: + +@example +Sinfonia/ +|-- MIDI/ +|-- Makefile +|-- Notas/ +| |-- cello.ily +| |-- cifras.ily +| |-- trompa.ily +| |-- oboe.ily +| |-- trioCuerdas.ily +| |-- viola.ily +| |-- violinUno.ily +| `-- violinDos.ily +|-- PDF/ +|-- Particellas/ +| |-- sinfonia-cello.ly +| |-- sinfonia-trompa.ly +| |-- sinfonia-oboes.ly +| |-- sinfonia-viola.ly +| |-- sinfonia-violinUno.ly +| `-- sinfonia-violinDos.ly +|-- Partituras/ +| |-- sinfonia.ly +| |-- sinfoniaI.ly +| |-- sinfoniaII.ly +| |-- sinfoniaIII.ly +| `-- sinfoniaIV.ly +`-- sinfoniaDefs.ily +@end example + +Los archivos @code{.ly} de los directorios @code{Partituras} y +@code{Particellas} obtienen las notas de archivos @code{.ily} que están en +el directorio @code{Notas}: + +@example +%%% principio del archivo "sinfonia-cello.ly" +\include ../definiciones.ily +\include ../Notas/cello.ily +@end example + +El makefile tendrá los objetivos de @code{partitura} (la pieza +completa en todo su esplendor), @code{movimientos} (partitura completa +de los movimientos individuales) y @code{particellas} (partes +individuales para los atriles). También existe un objetivo +@code{archivo} que produce un tarball de los archivos fuente, adecuado +para compartirlo a través de la web o por correo electrónico. A +continuación presentamos el makefile para GNU/Linux o MacOS X. Se +debe guardar con el nombre exacto @code{Makefile} el el directorio +superior del proyecto: + +@warning{Cuando se define un objetivo o una regla de patrón, las +líneas siguientes deben comenzar con tabuladores, no con espacios.} + +@example +# nombre principal de los archivos de salida +nombre = sinfonia +# determinar cuántos procesadores existen +CPU_CORES=`cat /proc/cpuinfo | grep -m1 "cpu cores" | sed s/".*: "//` +# La instrucción para ejecutar lilypond +LILY_CMD = lilypond -ddelete-intermediate-files \ + -dno-point-and-click -djob-count=$(CPU_CORES) + +# Los sufijos utilizados en este Makefile. +.SUFFIXES: .ly .ily .pdf .midi + +# Los archivos de entrada y salida se buscan dentro de los directorios relacionados en +# la variable VPATH. Todos esllos son subdirectorios del directorio +# en curso (dado por la variable de GNU make `CURDIR'). +VPATH = \ + $(CURDIR)/Partituras \ + $(CURDIR)/PDF \ + $(CURDIR)/Particellas \ + $(CURDIR)/Notas + +# La regla de patrón para crear archivos PDF y MIDI a partir de un archivo de entrada LY. +# Los archivos de salida .pdf se colocan en el subdirectorio `PDF', y los archivos +# .midi van al subdirectorio `MIDI'. +%.pdf %.midi: %.ly + $(LILY_CMD) $<; \ # esta línea comienza con un salto de tabulación + if test -f "$*.pdf"; then \ + mv "$*.pdf" PDF/; \ + fi; \ + if test -f "$*.midi"; then \ + mv "$*.midi" MIDI/; \ + fi + +notas = \ + cello.ily \ + trompa.ily \ + oboe.ily \ + viola.ily \ + violinUno.ily \ + violinDos.ily + +# Dependencias de los movimientos. +$(nombre)I.pdf: $(nombre)I.ly $(notas) +$(nombre)II.pdf: $(nombre)II.ly $(notas) +$(nombre)III.pdf: $(nombre)III.ly $(notas) +$(nombre)IV.pdf: $(nombre)IV.ly $(notas) + +# Dependencias de la partitura completa. +$(nombre).pdf: $(nombre).ly $(notas) + +# Dependencias de las particellas. +$(nombre)-cello.pdf: $(nombre)-cello.ly cello.ily +$(nombre)-trompa.pdf: $(nombre)-trompa.ly trompa.ily +$(nombre)-oboes.pdf: $(nombre)-oboes.ly oboe.ily +$(nombre)-viola.pdf: $(nombre)-viola.ly viola.ily +$(nombre)-violinUno.pdf: $(nombre)-violinUno.ly violinUno.ily +$(nombre)-violinDos.pdf: $(nombre)-violinDos.ly violinDos.ily + +# Teclee `make partitura' para generer la partitura completa de los cuatro +# movimientos como un archivo único. +.PHONY: partitura +partitura: $(nombre).pdf + +# Teclee `make particellas' para generar todas las particellas. +# Teclee `make fulanito.pdf' para generar la particella del instrumento `fulanito'. +# Ejemplo: `make sinfonia-cello.pdf'. +.PHONY: particellas +particellas: $(nombre)-cello.pdf \ + $(nombre)-violinUno.pdf \ + $(nombre)-violinDos.pdf \ + $(nombre)-viola.pdf \ + $(nombre)-oboes.pdf \ + $(nombre)-trompa.pdf + +# Teclee `make movimientos' para generar los archivos de los +# cuatro movimientos de forma separada. +.PHONY: movimientos +movimientos: $(nombre)I.pdf \ + $(nombre)II.pdf \ + $(nombre)III.pdf \ + $(nombre)IV.pdf + +all: partitura particellas movimientos + +archivo: + tar -cvvf stamitz.tar \ # esta línea comienza con un salto de tabulación + --exclude=*pdf --exclude=*~ \ + --exclude=*midi --exclude=*.tar \ + ../Stamitz/* +@end example + + +Existen ciertas complicaciones en la plataforma Windows. Después de +descargar e instalar el programa GNU Make para Windows, debemos +configurar la ruta adecuada en las variables de entorno del sistema de +forma que el shell del DOS pueda encontrar el programa Make. Para +hacerlo, pulse con el botón derecho sobre "Mi PC", elija +@code{Propiedades} y @code{Avanzadas}. Pulse sobre @code{Variables de +entorno}, y luego en la pestaña @code{Variables del sistema}, +seleccione @code{Ruta}, pulse sobre @code{editar} y añada la ruta al +archivo ejecutable de GNU Make, con lo que quedará algo parecido a lo +siguiente: + +@example +C:\Archivos de programa\GnuWin32\bin +@end example + +El makefile en sí debe modificarse para que maneje distintas +instrucciones del shell y para que pueda tratar con los espacios que +aparecen en el nombre de algunos directorios del sistema +predeterminados. El objetivo @code{archivo} se elimina porque Windows +no tiene la instrucción @code{tar}, y Windows tiene también una +extensión predeterminada distinta para los archivos MIDI. + + +@example +## VERSIÓN PARA WINDOWS +## +nombre = sinfonia +LILY_CMD = lilypond -ddelete-intermediate-files \ + -dno-point-and-click \ + -djob-count=$(NUMBER_OF_PROCESSORS) + +#obtener el nombre 8.3 de CURDIR (rodeo para los espacios en PATH) +workdir = $(shell for /f "tokens=*" %%b in ("$(CURDIR)") \ + do @@echo %%~sb) + +.SUFFIXES: .ly .ily .pdf .mid + +VPATH = \ + $(workdir)/Partituras \ + $(workdir)/PDF \ + $(workdir)/Particellas \ + $(workdir)/Notas + +%.pdf %.mid: %.ly + $(LILY_CMD) $< # esta línea comienza con un salto de tabulación + if exist "$*.pdf" move /Y "$*.pdf" PDF/ # comienzo con tab + if exist "$*.mid" move /Y "$*.mid" MIDI/ # comienzo con tab + +notas = \ + cello.ily \ + cifras.ily \ + trompa.ily \ + oboe.ily \ + trioCuerdas.ily \ + viola.ily \ + violinUno.ily \ + violinDos.ily + +$(nombre)I.pdf: $(nombre)I.ly $(notas) +$(nombre)II.pdf: $(nombre)II.ly $(notas) +$(nombre)III.pdf: $(nombre)III.ly $(notas) +$(nombre)IV.pdf: $(nombre)IV.ly $(notas) + +$(nombre).pdf: $(nombre).ly $(notas) + +$(nombre)-cello.pdf: $(nombre)-cello.ly cello.ily +$(nombre)-trompa.pdf: $(nombre)-trompa.ly trompa.ily +$(nombre)-oboes.pdf: $(nombre)-oboes.ly oboe.ily +$(nombre)-viola.pdf: $(nombre)-viola.ly viola.ily +$(nombre)-violinUno.pdf: $(nombre)-violinUno.ly violinUno.ily +$(nombre)-violinDos.pdf: $(nombre)-violinDos.ly violinDos.ily + +.PHONY: partitura +partitura: $(nombre).pdf + +.PHONY: particellas +particellas: $(nombre)-cello.pdf \ + $(nombre)-violinUno.pdf \ + $(nombre)-violinDos.pdf \ + $(nombre)-viola.pdf \ + $(nombre)-oboes.pdf \ + $(nombre)-trompa.pdf + +.PHONY: movimientos +movimientos: $(nombre)I.pdf \ + $(nombre)II.pdf \ + $(nombre)III.pdf \ + $(nombre)IV.pdf + +all: partitura particellas movimientos +@end example + + +El Makefile siguiente es para un documento de @command{lilypond-book} +hecho en LaTeX. Este proyecto tiene un índice, que requiere ejecutar +la instrucción @command{latex} dos veces para actualizar los enlaces. +Todos los archivos de salida se almacenan en el directorio +@code{salida} para los documentos .pdf y en el directorio +@code{salidahtml} para la salida en formato html. + +@example +SHELL=/bin/sh +NOMBRE=miproyecto +DIR_SALIDA=salida +DIR_WEB=salidahtml +VISOR=acroread +NAVEGADOR=firefox +LILYBOOK_PDF=lilypond-book --output=$(DIR_SALIDA) --pdf $(NOMBRE).lytex +LILYBOOK_HTML=lilypond-book --output=$(DIR_WEB) $(NOMBRE).lytex +PDF=cd $(DIR_SALIDA) && pdflatex $(NOMBRE) +HTML=cd $(DIR_WEB) && latex2html $(NOMBRE) +INDICE=cd $(DIR_SALIDA) && makeindex $(NOMBRE) +VISTA_PREVIA=$(VISOR) $(DIR_SALIDA)/$(NOMBRE).pdf & + +all: pdf web guardar + +pdf: + $(LILYBOOK_PDF) # comienza con un tab + $(PDF) # comienza con un tab + $(INDICE) # comienza con un tab + $(PDF) # comienza con un tab + $(VISTA_PREVIA) # comienza con un tab + +web: + $(LILYBOOK_HTML) # comienza con un tab + $(HTML) # comienza con un tab + cp -R $(DIR_WEB)/$(NOMBRE)/ ./ # comienza con un tab + $(NAVEGADOR) $(NOMBRE)/$(NOMBRE).html & # comienza con un tab + +guardar: pdf + cp $(DIR_SALIDA)/$(NOMBRE).pdf $(NOMBRE).pdf # comienza con un tab + +clean: + rm -rf $(DIR_SALIDA) # comienza con un tab + +web-clean: + rm -rf $(DIR_WEB) # comienza con un tab + +archivo: + tar -cvvf miproyecto.tar \ # comienza con un tab + --exclude=salida/* \ + --exclude=salidahtml/* \ + --exclude=miproyecto/* \ + --exclude=*midi \ + --exclude=*pdf \ + --exclude=*~ \ + ../MiProyecto/* +@end example + +HACER: conseguir que funcione en Windows + +El makefile anterior no funciona en Windows. Una alternativa para los +usuarios de Windows sería crear un archivo de lotes sencillo que +contenga las instrucciones de montaje. Esto no rastrea las +dependencias en la manera en que lo hace un makefile, pero al menos +reduce el proceso de construcción a una sola instrucción. Guarde el +código siguiente como @command{montaje.bat} o @command{montaje.cmd}. +El archivo de lotes se puede ejecutar en la línea de comandos del DOS +o simplemente haciendo doble click sobre su icono. + +@example +lilypond-book --output=salida --pdf miproyecto.lytex +cd salida +pdflatex miproyecto +makeindex miproyecto +pdflatex miproyecto +cd .. +copy salida\miproyecto.pdf MiProyecto.pdf +@end example + + +@seealso +Manual de utilización del programa: +@rprogram{Configuración para MacOS X}, +@rprogram{Utilización desde la línea de órdenes}, +@rprogram{LilyPond-book} diff --git a/Documentation/es/usage/updating.itely b/Documentation/es/usage/updating.itely new file mode 100644 index 0000000000..3367f60a62 --- /dev/null +++ b/Documentation/es/usage/updating.itely @@ -0,0 +1,278 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- + +@ignore + Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56 + + 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.12.0" + + +@node Actualizar ficheros con convert-ly +@section Actualizar ficheros con @command{convert-ly} +@translationof Updating files with convert-ly + +@cindex actualización de un archivo de LilyPond +@cindex convert-ly + +La sintaxis del lenguaje de entrada de LilyPond se modifica de forma +habitual para simplificarla o mejorarla de distintas maneras. Como +efecto secundario, el intérprete de LilyPond a menudo ya no es +compatible con los archivos de entrada antiguos. Para poner remedio a +esto se puede utilizar el programa @command{convert-ly} para manejar +casi todos los cambios de sintaxis entre versiones de LilyPond. + +@menu +* ¿Por qué cambia la sintaxis?:: +* Invocar convert-ly:: +* Opciones de la línea de órdenes para convert-ly:: +* Problemas con convert-ly:: +* Conversiones manuales:: +@end menu + + +@node ¿Por qué cambia la sintaxis? +@section ¿Por qué cambia la sintaxis? +@translationof Why does the syntax change? + +@cindex convert-ly +@cindex actualizar archivos de entrada antiguos + +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 veces estos cambios se hacen +para conseguir que la entrada sea más fácil de leer y escribir, y +otras veces estos cambios son para dar cabida a nuevas funcionalidades +de LilyPond. + +Por ejemplo, se supone que todos los nombres de las propiedades de +@code{\paper} y de @code{\layout} están escritos en la dorma +@code{primero-segundo-tercero}. Sin embargo, en la versión 2.11.60, +observamos que la propiedad @code{printallheaders} no seguía esta +convención. ¿Deberíamos dejarla como está (confundiendo a los nuevos +usuarios que tienen que tratar con un formato de entrada +inconsistente), o cambiarla (fastidiando a los usuarios con +experiencia que tienen partituras antiguas)? En este caso, decidimos +cambiar el nombre a @code{print-all-headers}. Afortunadamente, este +cambio se puede automatizar con nuestra herramienta +@command{convert-ly}. + +Sin embargo, lamentablemente @code{convert-ly} no puede tratar todos +los cambios en la entrada. 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, @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 sus archivos de LilyPond +antiguos. + + +@node Invocar convert-ly +@subsection Invocar @command{convert-ly} +@translationof Invoking convert-ly + +@command{convert-ly} utiliza los enunciados @code{\version} de los +archivos de entrada para detectar el número de versión antiguo. En +casi todos los casos, para actualizar el archivo de entrada basta con +ejecutar + +@example +convert-ly -e miarchivo.ly +@end example + +@noindent +dentro del directorio que contiene el archivo. Con esto se actualiza +@code{miarchivo.ly} @emph{in situ} y se preserva el archivo original +@code{miarchivo.ly~}. + +@warning{@command{convert-ly} siempre convierte hasta el último cambio +de sintaxis que es capaz de manejar. Esto significa que el número de +@code{\version} que aparece en el archivo convertido suele ser +inferior al número de versión del propio programa +@command{convert-ly}.} + +Para convertir de una vez todos los archivos de entrada que hay en un +directorio, use + +@example +convert-ly -e *.ly +@end example + +De forma alternativa, si queremos especificar un nombre distinto para +el archivo actualizado, preservando el archivo original con el mismo +nombre, haga + +@example +convert-ly miarchivo.ly > minuevoarchivo.ly +@end example + +El programa imprimirá una relación de los números de versión para los +que se han hecho conversiones. Si no se imprime ningún número de +versión, el archivo ya está actualizado. + +@noindent +Los usuarios de MacOS@tie{}X pueden ejecutar esta instrucción bajo el +menú @code{Compilar > Actualizar sintaxis}. + +Los usuarios de Windows deben introducir esta instrucción en una +ventana del terminal del sistema, que se encuentra por lo general bajo +@code{Inicio > Accesorios > Símbolo del sistema}. + + +@node Opciones de la línea de órdenes para convert-ly +@subsection Opciones de la línea de órdenes para @command{convert-ly} +@translationof Command line options for convert-ly + + +En general, el programa se invoca de la manera siguiente: + +@example +convert-ly [@var{opción}]@dots{} @var{archivo}@dots{} +@end example + + +Se pueden dar las siguientes opciones: + +@table @code +@item -e,--edit +Aplicar las conversiones directamente al archivo de entrada, +modificándolo in situ. + +@item -f,--from=@var{versión_de_origen} +Establece la versión desde la que convertir. Si no aparece esta +opción, @command{convert-ly} tratará de adivinarla, basándose en el +enunciado @code{\version} del archivo. Ejemplo: @code{--from=2.10.25} + +@item -n,--no-version +Normalmente @command{convert-ly} añade un indicador @code{\version} a +la salida. La especificación de esta opción lo suprime. + +@item -s, --show-rules +Mostrar todas las conversiones conocidas y salir. + +@item --to=@var{versión_final} +Fijar la versión de destino de la conversión. De forma predeterminada +se convierte a la última versión disponible. + +@item -h, --help +Imprimir la ayuda de la utilización. +@end table + +Para actualizar fragmentos de LilyPond en archivos de texinfo, use + +@example +convert-ly --from=... --to=... --no-version *.itely +@end example + +Para ver los cambios en la sintaxis de LilyPond entre dos versiones +dadas, use + +@example +convert-ly --from=... --to=... -s +@end example + + +@node Problemas con convert-ly +@subsection Problemas con @code{convert-ly} +@translationof Problems with convert-ly + +Al ejecutar convert-ly en una ventana del Símbolo del Sistema bajo +Windows sobre un archivo que tiene espacios en el nombre o en la ruta, +es necesario encerrar todo el nombre del archivo de entrada con tres +(!) pares de comillas: + +@example +convert-ly """D:/Mis partituras/Oda.ly""" > "D:/Mis partituras/nueva Oda.ly" +@end example + +Si la orden simple @command{convert-ly -e *.ly} no funciona porque la +instrucción expandida se hace muy larga, en vez de ello la orden +@command{convert-ly} se puede poner dentro de un bucle. Este ejemplo +para UNIX actualiza todos los documentos @code{.ly} del directorio +actual + +@example +for f in *.ly; do convert-ly -e $f; done; +@end example + +En la ventana del terminal de órdenes de Windows, la instrucción +correspondiente es + +@example +for %x in (*.ly) do convert-ly -e """%x""" +@end example + +No se manejan todos los cambios en el lenguaje. Sólo se puede +especificar una opción de salida. La actualización automática de +Scheme y los interfaces Scheme de LilyPond es bastante improbable; +prepárese para trucar el código de Scheme a mano. + +@node Conversiones manuales +@section Conversiones manuales +@translationof Manual conversions + +En teoría, un programa como @command{convert-ly} debería poder tratar +cualquier cambio en la sintaxis. Después de todo, un programa de +ordenador interpreta las versiones antigua y nueva, por lo que otro +programa de ordenador podría traducir un archivo al otro@footnote{Al +menos, esto es posible en cualquier archivo de LilyPond que no +contenga Scheme. Si hay Scheme dentro del archivo, contiene un +lenguaje Turing-completo, y nos encontramos con el famoso @qq{Problema +de la parada} en informática.}. + +Sin embargo, el proyecto LilyPond cuenta con unos recursos limitados: +no todas las conversiones se efectúan automáticamente. A continuación +aparece una lista de los problemas conocidos. + + +@verbatim +1.6->2.0: + No siempre convierte el bajo cifrado correctamente, específicamente cosas como {< +>}. El comentario de Mats sobre cómo solventar el problema: + Para poder ejecutar convert-ly + sobre él, primero sustituí todas las apariciones de '{<' a algo mudo como '{#' + y de forma similar sustituí '>}' con '&}'. Después de la conversión, pude + volver a cambiarlos de '{ #' a '{ <' y de '& }' a '> }'. + No convierte todos los marcados de texto correctamente. En sintaxis antigua, + se podían agrupar varios marcados entre paréntesis, p.ej. + -#'((bold italic) "cadena") + Esto se convierte incorrectamente en + -\markup{{\bold italic} "cadena"} + en vez del correcto + -\markup{\bold \italic "cadena"} +2.0->2.2: + No maneja \partcombine + No hace \addlyrics => \lyricsto, esto rompe algunas partituras con varias estrofas. +2.0->2.4: + \magnify no se cambia por \fontsize. + - \magnify #m => \fontsize #f, donde f = 6ln(m)/ln(2) + remove-tag no se cambia. + - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . . + first-page-number no se cambia. + - first-page-number no => print-first-page-number = ##f + Los saltos de línea en las cadenas de cabecera no se convierten. + - \\\\ como salto de línea en las cadenas de \header => \markup \center-align < + "Primera línea" "Segunda línea" > + Los terminadores de crescendo y decrescendo no se convierten. + - \rced => \! + - \rc => \! +2.2->2.4: + \turnOff (usado en \set Staff.VoltaBracket = \turnOff) no se convierte +adecuadamente. +2.4.2->2.5.9 + \markup{ \center-align <{ ... }> } se tendría que convertir en: + \markup{ \center-align {\line { ... }} } + pero ahora, falta el \line. +2.4->2.6 + Los caracteres especiales de LaTeX como $~$ en el texto no se convierten a UTF8. +2.8 + \score{} ahora debe empezar con una expresión musical. Cualquier otra cosa + (en particular, \header{}) debe ir después de la música. +@end verbatim + + -- 2.39.2