5.7.3 Fulls d’estil (Manual d’aprenentatge del GNU LilyPond)

#### 5.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.26.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"

#### Manual d’aprenentatge del GNU LilyPond v2.26.0 (stable-branch).

- 1 Installing
  - 1.1 Graphical setup
  - 1.2 Command line setup
- 2 Tutorial
  - 2.1 Compilació d’un fitxer
  - 2.2 Com escriure fitxers d’entrada
    - 2.2.1 Notació senzilla
      - Altures
      - Duracions (valors rítmics)
      - Silencis
      - Indicació de compàs
      - Indicacions de tempo
      - Clau
      - Tot a l’hora
    - 2.2.2 Treball sobre els fitxers d’entrada
  - 2.3 Gestió dels errors
    - 2.3.1 Consells generals de solució de problemes
    - 2.3.2 Alguns errors comuns
  - 2.4 Com llegir els manuals
    - 2.4.1 Material omès
    - 2.4.2 Exemples amb enllaç
    - 2.4.3 Panoràmica dels manuals
- 3 Notació corrent
  - 3.1 Notació en un sol pentagrama
    - 3.1.1 Línies divisòries i comprovacions de compàs
      - Línies divisòries
      - Comprovacions de compàs
    - 3.1.2 Alteracions accidentals i armadures
      - Alteracions accidentals
      - Armadures
      - Advertiment: armadures i altures
    - 3.1.3 Lligadures d’unió i d’expressió
      - Lligadures d’unió
      - Lligadures d’expressió
      - Lligadures de fraseig
      - Advertiments: lligadures d’expressió en front a lligadures d’unió
    - 3.1.4 Articulacions i matisos dinàmics
      - Articulacions
      - Indicacions de digitació
      - Matisos dinàmics
    - 3.1.5 Addició de text
    - 3.1.6 Barres automàtiques i manuals
    - 3.1.7 Instruccions rítmiques avançades
      - Compàs parcial
      - Grups especials
      - Notes d’adorn
  - 3.2 Diverses notes a l’hora
    - 3.2.1 Explicació de les expressions musicals
      - Analogia: expressions matemàtiques
      - Expressions musicals simultànies: diversos pentagrames
      - Expressions musicals simultànies: un sol pentagrama
    - 3.2.2 Diversos pentagrames
    - 3.2.3 Grups de pentagrames
    - 3.2.4 Combinar notes per formar acords
    - 3.2.5 Polifonia a un sol pentagrama
  - 3.3 Cançons
    - 3.3.1 Elaborar cançons senzilles
    - 3.3.2 Alineació de la lletra a una melodia
    - 3.3.3 Lletra en diversos pentagrames
  - 3.4 Retocs finals
    - 3.4.1 Organitzar les peces mitjançant variables
    - 3.4.2 Afegir títols
    - 3.4.3 Noms de nota absoluts
    - 3.4.4 Més enllà del tutorial
- 4 Conceptes fonamentals
  - 4.1 Com funcionen els fitxers d’entrada del LilyPond
    - 4.1.1 Introducció a l’estructura dels fitxers del LilyPond
    - 4.1.2 La partitura és una (única) expressió musical composta
    - 4.1.3 Niuat d’expressions musicals
    - 4.1.4 Quant a la impossibilitat de niuar claus i lligadures
  - 4.2 Les veus contenen música
    - 4.2.1 Sento veus
    - 4.2.2 Veus explícites
    - 4.2.3 Veus i música vocal
  - 4.3 Contextos i gravadors
    - 4.3.1 Explicació dels contextos
    - 4.3.2 Creació de contextos
    - 4.3.3 Explicació dels gravadors
    - 4.3.4 Modificar les propietats dels contextos
    - 4.3.5 Afegir i eliminar gravadors
  - 4.4 Extensió de les plantilles
    - 4.4.1 Soprano i violoncel
    - 4.4.2 Partitura vocal a quatre veus SATB
    - 4.4.3 Crear una partitura partint de zero
    - 4.4.4 Estalvi de tecleig mitjançant variables i funcions
    - 4.4.5 Partitures i particel·les
- 5 Ajustament de la sortida
  - 5.1 Elements d’ajustament
    - 5.1.1 Introducció a l’ajustament
    - 5.1.2 Objectes i interfícies
    - 5.1.3 Convencions de noms d’objectes i propietats
    - 5.1.4 Mètodes d’ajustament
      - L’ordre `\override`
      - L’ordre `\revert`
      - El prefix `\once`
      - L’ordre `\overrideProperty`
      - L’ordre `\tweak`
      - El prefix `\single`
  - 5.2 Manual de referència de funcionament intern
    - 5.2.1 Propietats dels objectes de presentació
    - 5.2.2 Propietats de les interfícies
    - 5.2.3 Tipus de propietats
  - 5.3 Aparença dels objectes
    - 5.3.1 Visibilitat i color dels objectes
      - La propietat `stencil` (segell)
      - La propietat `break-visibility` (visibilitat del salt)
      - La propietat `transparent` (transparent)
      - La propietat `color`
    - 5.3.2 Mida dels objectes
    - 5.3.3 Longitud i gruix dels objectes
  - 5.4 Col·locació dels objectes
    - 5.4.1 Comportament automàtic
    - 5.4.2 Objectes interiors al pentagrama
      - La propietat `direction` (direcció)
      - Digitacions
    - 5.4.3 Objectes fora del pentagrama
      - La propietat `outside-staff-priority` (prioritat fora del pentagrama)
      - L’ordre `\textLengthOn`
      - Posicionament dels matisos dinàmics
      - Escalat d’un «Grob»
  - 5.5 Espaiat vertical
  - 5.6 Col·lisions d’objectes
    - 5.6.1 Moviment d’objectes
    - 5.6.2 Ajustament de la notació amb superposicions
      - La propietat `padding` (farciment))
      - La propietat `right-padding` (farciment per la dreta)
      - La propietat `staff-padding` (farciment de pentagrama)
      - La propietat `self-alignment-X` (auto-alineació en X)
      - La propietat `staff-position` (posició al pentagrama)
      - La propietat `extra-offset` (desplaçament addicional)
      - La propietat `positions` (posicions)
      - La propietat `force-hshift` (forçar desplaçament horitzontal)
    - 5.6.3 Exemple real de música
  - 5.7 Ajustaments addicionals
    - 5.7.1 Altres aplicacions dels ajustaments
      - Unió de notes entre veus diferents
      - Simulació de un calderó al MIDI
    - 5.7.2 Ús de variables per als ajustaments de disposició
    - 5.7.3 Fulls d’estil
    - 5.7.4 Altres fonts d’informació
    - 5.7.5 Ajustaments avançats amb l’Scheme
- Appendix A Plantilles
  - A.1 Plantilles incorporades
    - A.1.1 Plantilla coral SATB
    - A.1.2 Plantilla coral SSAATTBB
  - A.2 Plantilles de pentagrama únic
    - A.2.1 Sols notes
    - A.2.2 Notes i lletra
    - A.2.3 Notes i acords
    - A.2.4 Notes, lletra i acords
  - A.3 Plantilles de piano
    - A.3.1 Piano sol
    - A.3.2 Piano i melodia amb lletra
    - A.3.3 Piano amb lletra centrada
  - A.4 Plantilles de quartet de corda
    - A.4.1 Quartet de corda simple
    - A.4.2 Particel·les de quartet de corda
  - A.5 Plantilles de conjunts vocals
    - A.5.1 Partitura vocal SATB
    - A.5.2 Partitura vocal SATB i reducció per a piano automàtica
    - A.5.3 SATB amb contextos alineats
    - A.5.4 SATB sobre quatre pentagrames
    - A.5.5 Estrofes a sol y tornada a dues veus
    - A.5.6 Melodies d’himnes
    - A.5.7 Salms
  - A.6 Plantilles orquestrals
    - A.6.1 Orquestra, cor i piano
  - A.7 Plantilles per a notació antiga
    - A.7.1 Transcripció dfe música mensural
    - A.7.2 Plantilla per a transcripció de cant gregorià
  - A.8 Altres plantilles
    - A.8.1 Combo de jazz
- Appendix B GNU Free Documentation License
- Appendix C Índex