4.7.3 Fulls d’estil
La sortida que produeix el LilyPond es pot modificar profundament; consulteu Ajustament de la sortida per llegir detalls sobre aquest tema. Però, que passa si teniu molts fitxers als quals voleu aplicar els vostres propis ajustaments? O què passa si, senzillament, voleu separar els ajustaments de la pròpia música? Tot això és força fàcil d’aconseguir.
Vejam un exemple. No us preocupeu si no enteneu les parts que
tenen tots els #()
. Això s’explicarà a
Ajustaments avançats amb l’Scheme.
mpdolce = \tweak self-alignment-X #-0.6 #(make-dynamic-script #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function (string) (string?) #{ <>^\markup \bold \box #string #}) \relative { \tempo 4=50 a'4.\mpdolce d8 cis4--\glissando a | b4 bes a2 | \inst "Clarinet" cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2 | }
Fem alguna cosa respecte a les definicions mpdolce
i
inst
. Aquestes definicions produeixen la sortida que
volem, però potser les voldríem utilitzar a una altra peça.
Podríem simplement copiar-les i enganxar-les al principi de cada
fitxer, però seria força molest. També fa que es quedin les
definicions a la vista dins dels nostres fitxers de música, i jo
personalment trobo tots els #()
molt pocs estètics. Els
amagarem dins d’un altre fitxer:
%%% desar això a un fitxer amb el nom «definicions.ily» mpdolce = \tweak self-alignment-X #-0.6 #(make-dynamic-script #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function (string) (string?) #{ <>^\markup \bold \box #string #})
Farem referència a aquest fitxer utilitzant l’ordre
\include
al principi del fitxer de música (l’extensió
.ily
s’utilitza per distingir aquest fitxer d’inclusió
–que se suposa que no ha de ser processat de forma independent–
del fitxer principal). Ara modificarem la música (desem aquest
fitxer com ‘musica.ly’).
\include "definicions.ily" \relative { \tempo 4=50 a'4.\mpdolce d8 cis4--\glissando a | b4 bes a2 | \inst "Clarinete" cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2 | }
Això té millor aspecte, però farem alguns canvis més. El glissando és difícil de veure, així que el farem més gruixut i l’aproparem als caps de les notes. Posarem la indicació metronòmica a sobre de la clau, en lloc d’anar a sobre de la primera nota. I per últim, el meu professor de composició odia les indicacions de compàs ‘C’, així que la convertirem en ‘4/4’.
Malgrat això, no hem de canviar el fitxer ‘musica.ly’. Anem a substituir el nostre fitxer ‘definicions.ily’ amb el següent:
%%% definicions.ily mpdolce = \tweak self-alignment-X #-0.6 #(make-dynamic-script #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function (string) (string?) #{ <>^\markup \bold \box #string #}) \layout{ \context { \Score \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 } \context { \Staff \override TimeSignature.style = #'numbered } \context { \Voice \override Glissando.thickness = #3 \override Glissando.gap = #0.1 } }
Això té un aspecte molt millor! Ara suposeu que voleu publicar aquesta peça. Al meu professor de composició no li agraden les indicacions de compàs, però jo els tinc un cert apreci. Copiarem el fitxer actual
¡Eso tiene un aspecto mucho mejor! Ahora suponga que quiere publicar esta pieza. A mi profesor de composición no le gustan las indicaciones de compás ‘C’, pero yo les tengo cierto cariño. Copiaremos el archivo actual ‘definicions.ily’ a ‘publicar-web.ily’ i modificarem aquest últim fitxer. Com el propòsit d’aquesta música és produir un PDF que es mostrarà a la pantalla, també augmentarem la mida general de la sortida.
%%% publicar-web.ily mpdolce = \tweak self-alignment-X #-0.6 #(make-dynamic-script #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function (string) (string?) #{ <>^\markup \bold \box #string #}) #(set-global-staff-size 23) \layout{ \context { \Score \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 } \context { \Staff } \context { \Voice \override Glissando.thickness = #3 \override Glissando.gap = #0.1 } }
Ara, a la música, simplement substitueixo
\include "definicions.ily"
per \include "publicar-web.ily"
. Per
suposat, podríem fer això encara més pràctic. Podríem fer un
fitxer ‘definiciones.ily’ que contingués sols les definicions de
mpdolce
i de inst
, un fitxer
‘publicar-web.ily’ que contingués sols la secció
\layout
que es va mostrar a l’exemple, i un fitxer
‘universitat.ily’ que contindria sols els ajustament per
introduir la sortida que agrada al meu professor. El començament de
‘musica.ly’ tindria ara aquest aspecte:
\include "definiciones.ily" %%% Treure el comentari d'una sola d'aquestes línies! \include "publicar-web.ily" %\include "universitat.ily"
Aquest enfocament pot ser útil fins i tot si aneu a produir sols
un conjunt de particel·les. Jo utilitzo mitja dotzena de fitxers
de ‘fulls d’estil’ per als meus projectes. Començo tots els
fitxers de música amb un \include "../global.ily"
, que conté
%%% global.ily \version "2.21.0" #(ly:set-option 'point-and-click #f) \include "../iniciar/iniciar-definicions.ily" \include "../iniciar/iniciar-disposicio.ily" \include "../iniciar/iniciar-capçaleres.ily" \include "../iniciar/iniciar-paper.ily"
Altres idiomes: English, česky, deutsch, español, français, italiano, 日本語, nederlands.
Quant a la selecció automàtica de la llengua.