2.1 ¿Por qué cambia la sintaxis?
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
\paper
y de \layout
están escritos en la dorma
primero-segundo-tercero
. Sin embargo, en la versión 2.11.60,
observamos que la propiedad 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 print-all-headers
. Afortunadamente, este
cambio se puede automatizar con nuestra herramienta
convert-ly
.
Sin embargo, lamentablemente 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, No\"el
(que
significa ‘Navidad’ en francés). En LilyPond 2.6 y siguientes,
el carácter especial ë
debe introducirse directamente en el
archivo de LilyPond como un carácter UTF-8. 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.
Las reglas de conversión de convert-ly
funcionan usando
correspondencia y sustitución de patrones de texto en lugar de una
comprensión profunda de la sintaxis de LilyPond. Esto tiene
varias consecuencias:
- El buen funcionamiento de la conversión depende de la calidad de cada conjunto de reglas que se aplican y de la complejidad del cambio correspondiente. A veces las conversiones pueden necesitar correcciones manuales, por lo que la versión antigua debiera conservarse a efectos de comparación.
- Solamente son posibles las conversiones a formatos más nuevos: no existe ningún conjunto de reglas para la desactualización. Así pues, la copia principal de trabajo de un archivo de LilyPond solamente se debe actualizar cuando ya no hay necesidad de seguir manteniendo versiones antiguas de LilyPond. Los sistemas de control de versiones como el Git pueden ser de gran ayuda para realizar el mantenimiento de varias versiones de los mismos archivos.
-
Los propios programas LilyPond y Scheme son bastante robustos
frente a los espacios añadidos y suprimidos de manera
“creativa”, pero las reglas utilizadas por
convert-ly
tienden a hacer ciertas suposiciones de estilo. Lo mejor que puede hacerse es seguir el estilo que se usa en los manuales para hacer actualizaciones indoloras, especialmente porque los propios manuales se actualizan usandoconvert-ly
.
Otros idiomas: English, deutsch, français, magyar, italiano, 日本語.
Acerca de la selección automática del idioma.