### 3.1.1 Uvedení do stavby souboru v LilyPondu

Základní příklad vstupního souboru pro LilyPond zní:

>     \version "2.22.1"

>     \header { }

>     \score {
>       ...složený hudební výraz...  % Celé noty přijdou sem!
>       \layout { }
>       \midi { }
>     }

Na základě pružnosti LilyPond je mnoho obměn tohoto schématu, ale tento příklad slouží jako jednoduchý výchozí bod.

Až dosud ještě žádný z příkladů příkaz `\score{}` nepoužil, neboť LilyPond takové dodatečné příkazy automaticky vkládá v případě potřeby, když má vstupní soubor jednoduchou stavbu.

Podívejme se na jeden takový jednoduchý příklad:

>     \relative {
>       c''4 a d c
>     }

Na pozadí k tomu přichází ještě několik rovin: LilyPondovský kód v hořejší podobě je ve skutečnosti zestručněním. I když by se takové soubory daly napsat a také správně zapsat, znamená úplný kód, který je zde míněn, vlastně:

>     \book {
>       \score {
>         \new Staff {
>           \new Voice {
>             \relative {
>               c''4 a b c
>             }
>           }
>         }
>         \layout { }
>       }
>     }

Jinými slovy: Když vstupní soubor obsahuje nějaký jednoduchý výraz, LilyPond bude soubor vykládat tak, jakoby byl onen výraz zadán uvnitř výše ukázaných příkazů. Tato nutná stavba je vytvořena automaticky v paměti při vyvolání LilyPondu, aniž by si uživatel něčeho z toho všiml.

Slovo varování je však vysloveno! Mnohé z příkladů v dokumentaci k LilyPondu vědomě vynechávají příklady `\new Staff` a `\new Voice` k vytvoření notové osnovy a hlasu (obojí je v LilyPondu tak zvané prostředí), aby byla LilyPondem v paměti vytvořena skrytě. Pro jednoduché dokumenty to obecně pracuje velmi dobře, u složitějších notových zápisů z toho ale mohou povstat neočekávané výsledky, částečně dokonce neočekávané prázdné notové osnovy. Jak otevřeně vytvářet odpovídající prostředí v takovém případě, se podívejte na prostředí a rytce.

Pozor: Když se zadává více jak dvojice notových řádků, doporučuje se vytvořit notové osnovy a hlasy vždy otevřeně pomocí `new Staff` a `new Voice`.

V této chvíli se ale chceme vrátit k našemu prvnímu příkladu a blíže se podívat jen na příkaz `\score`.

Notový zápis (`\score`) musí vždy začínat nějakým hudebním výrazem. To je koneckonců každá hudba, počínaje jednotlivou notou až po rostoucí notový zápis s mnoha notovými osnovami (zde označeno pomocí `GrandStaff`):

>     {
>       \new GrandStaff <<
>         ...zde celý notový zápis...
>       >>
>     }

Protože se vše nachází uvnitř složených závorek `{ ... }`, zachází se s tím jako s jediným hudebním výrazem.

Jak již bylo řečeno předtím, může blok `\score` obsahovat i jiné věci, jako například

>     \score {
>       { c'4 a b c' }
>       \layout { }
>       \midi { }
>       \header { }
>     }

Jak je vidět, jsou ty tři příkazy `\header`, `\layout` a `\midi` zvláštní povahy: V protikladu k mnoha jiným příkazům, které také začínají zpětným lomítkem `\`, nejsou hudebním výrazem a také nejsou částí nějakého hudebního výrazu. Z toho důvodu mohou být umístěny jak dovnitř bloku `\score` tak mimo něj. Ve skutečnosti jsou tyto příkazy většinou umisťovány mimo blok `\score`, například se příkaz `\header` nachází velice často nad prostředím `\score`, jak ukazuje příklad na začátku tohoto oddílu. Pracuje to právě tak dobře.

Dvěma dosud neviděnými příkazy jsou `\layout { }` a `\midi {}`. Když se objeví v nějakém souboru, vede to k tomu, že LilyPond vytvoří tisknutelný soubor PDF popřípadě soubor MIDI. Přesněji jsou popsány v uživatelské příručce - notace – Rozvržení notového zápisu a Vytváření souborů MIDI.

Váš LilyPondovský kód může obsahovat více bloků `\score`. Každý z nich je vykládán jako samostatný notový zápis, ovšem všechny jsou umístěny v tomtéž výstupním souboru. Příkaz `\book` není otevřeně nezbytný – je vytvořen skrytě. Když však má být vytvořen pro každý blok `\score` v souboru ‘`.ly`’ vlastní výstupní soubor, potom se musí každý z těchto bloků zapsat do vlastního bloku `\book`: Každý blok `\book` pak vytváří vlastní výstupní soubor.

Shrnutí:

Každý blok `\book` vytváří vlastní výstupní soubor (např. soubor PDF). Pokud jste otevřeně žádný takový blok nezadali, LilyPond celý obsah souboru zapíše dovnitř jednoho jediného skrytého bloku `\book`.

Každý blok `\score` popiseje jeden samostatný hudební kus uvnitř bloku `\book`.

Každý blok `\layout` ovlivňuje `\score` nebo `\book`, ve kterém se vyskytuje. Tak působí například blok `\layout` uvnitř bloku `\score` jen na tento jeden blok a celý jeho obsah, blok `\layout` mimo blok `\score` (a proto uvnitř skrytě vytvořeného otevřeně zadaného bloku `\book`) však na všechny bloky `\score` uvnitř tohoto bloku `\book`.

Více podrobností se nachází v části Více notových zápisů v knize.

Dobrou možností pro zjednodušení jsou vlastní vymezené proměnné, jak je to také ukázáno v Pořádání děl pomocí proměnných. Všechny předlohy používají tuto možnost:

>     melodie = \relative {
>       c'4 a b c
>     }

>     \score {
>       { \melodie }
>     }

Když LilyPond zpracovává tento soubor, bere obsah z `melodie` (vše po rovnítku) a vkládá to, kdykoli vidí `\melodie`. Názvy jsou volně volitelné, proměnná se právě tak dobře může jmenovat `melodie`, `GLOBAL`, `praváRukaKlavír`, nebo `cokoliDalšího`. Jako název proměnné se dá použít skoro jakýkoli oblíbený název, musí se v něm ovšem vyskytovat jen písmena (takže žádná čísla, podtržítka, zvláštní znaky, atd.) a nesmí znít jako příkaz pro LilyPond. Pro více informací se podívejte na úsporu psaní na stroji pomocí proměnných a funkcí. Přesně jsou tato omezení popsána v části Stavba souboru.

#### Podívejte se také na

Úplné vymezení vstupního souboru se nachází v Stavba souboru.

#### LilyPond – Learning Manual v2.22.1 (Stálá větev).