Referència de la notació del GNU LilyPond: 3.1.5 Estructura del fitxer

### 3.1.5 Estructura del fitxer

Un fitxer ‘`.ly`’ pot contenir qualsevol nombre d’expressions del nivell superior, on una expressió del nivell superior és una de les possibilitats següents:

- Una definició de sortida, com `\paper`, `\midi` i `\layout`. Una definició d’aquest tipus la nivell més alta canvia els ajustos predeterminats per a tot el llibre. Si s’introdueix més d’una d’aquestes definicions del mateix tipus al nivell més alt, les definicions es combinen, però en situacions de conflicte les definicions més tardanes tenen preferència. Per veure els detalls sobre com afecta al bloc `\layout`, consulteu El bloc `\layout`.
- Una expressió directa de l’Scheme, com `#(set-default-paper-size "a7" 'landscape)` o `#(ly:set-option 'point-and-click #f)`.
- Un bloc `\header`. Això estableix l’encapçalament global (és a dir, al principi del fitxer). És el bloc que conté els ajustos predeterminats dels camps d’encapçalament com el compositor, el títol, etc per a tots els llibres que estan dins del fitxer (vegeu Explicació dels títols).
- Un bloc `\score`. Aquesta partitura es reuneix amb altres partitures del nivell superior, i es combina amb elles formant un `\book` (llibre) únic. Aquest comportament es pot canviar establint el valor de la variable `toplevel-score-handler` al nivell superior (el handler predeterminat es defineix al fitxer ‘`../scm/lily-library.scm`’ i el seu valor s’estableix al fitxer ‘`../ly/declarations-init.ly`’.)
- Un bloc `\book` combina lògicament diversos moviments (és a dir, diversos blocs `\score`) en un sol document. Si hi ha diverses partitures `\score`, es crea un sols fitxer de sortida per a cada bloc `\book`, en el qual es concatenen tots els moviments corresponents. L’única raó per especificar explícitament blocs `\book` en un fitxer d’entrada ‘`.ly`’ és si volem crear diversos fitxers de sortida a partir d’un únic fitxer d’entrada. Una excepció es dóna dins dels documents de lilypond-book, en els quals hem d’escriure explícitament un bloc `\book` si volem tenir més d’una única partitura `\score` o marcatge `\markup` al mateix exemple. Es pot canviar aquest comportament establint el valor de la variable `toplevel-book-handler` al nivell superior. El handler predeterminat es defineix al fitxer d’inici ‘`../scm/lily.scm`’.
- Un bloc `\bookpart`. Un llibre pot dividir-se en diverses parts, utilitzant blocs `\bookpart`, amb l’objectiu de facilitar la inserció de salts de pàtina o suar diferents ajustos de `\paper` en les diferents parts.
- Una expressió musical composta, com

  >     { c'4 d' e'2 }

  Això afegeix la peça al `\score` i la conforma dins d’un llibre únic junt a totes les altres partitures `\score` i expressions musicals del nivell superior. En altres paraules, un fitxer que conté sols l’expressió musical anterior es tradueix a

  >     \book {
  >       \score {
  >         \new Staff {
  >           \new Voice {
  >             { c'4 d' e'2 }
  >           }
  >         }
  >         \layout { }
  >       }
  >       \paper { }
  >       \header { }
  >     }

  Es pot canviar aquest comportament establint el valor de la variable `toplevel-music-handler` al nivell més alt. E. handler predeterminat es defineix al fitxer d’inici ‘`../scm/lily.scm`’.

- Un text de marcatge, per exemple una estrofa

  >     \markup {
  >        2.  Estrofa dos, línia u
  >     }

  Els textos de marcatge es col·loquen a sobre, en mig o a sota de les partitures o expressions musicals, segons on apareguin escrits.

- Una variable, com

  >     pepet = { c4 d e d }

  Això es pot utilitzar més tard al fitxer escrivint `\pepet`. El nom de les variables ha de ser exclusivament alfabètic; sense números, guions ni barres baixes.

L’exemple següent mostra tres coses que se poden introduir al nivell superior:

>     \layout {
>       % No justificar la sortida
>       ragged-right = ##t
>     }

>     \header {
>        title = "Do-re-mi"
>     }

>     { c'4 d' e2 }

En qualsevol punt del fitxer es poden introduir qualssevol de les instruccions lèxiques següents:

- `\version`
- `\include`
- `\sourcefilename`
- `\sourcefileline`
- Un comentari d’una línia, determinat per un símbol `%` al principi.
- Un comentari de diverses línies, delimita per `%{ … %}`.

En general s’ignoren els espais entre elements del flux d’entrada, i es poden ometre o augmentar tranquil·lament per millorar la llegibilitat. Tanmateix, els espais s’han d’utilitzar sempre per evitar errors, en les situacions següents:

- Al voltant de totes i cadascuna de les claus i parèntesis d’obertura i tancament.
- A continuació de les ordres i variables, és a dir, tots els elements que comencen amb signe `\` de barra invertida.
- A continuació de tot element que s’hagi d’interpretar com a expressió de l’Scheme, és a dir, tot element que comenci per un signe `#`.
- Per separar els elements d’una expressió de l’Scheme.
- Dins de `lyricmode` abans i després de les ordres `\set` i `\override`.

#### Vegeu també

Manual d’aprenentatge: Com funcionen els fitxers d'entrada del LilyPond

Referència de la notació: Explicació dels títols, El bloc `\layout`.

#### LilyPond — Referència de la notació v2.22.2 (branca estable).