@c -*- coding: utf-8; mode: texinfo; documentlanguage: hu -*-

@ignore
    Translation of GIT committish: ef7ee24e2aee81dd97888b4533ab7eae038ce666

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
    Guide, node Updating translation committishes..
@end ignore



@c \version "2.19.21"

@node Első lecke
@chapter Első lecke
@translationof Tutorial

Tankönyvünk első leckéje bemutatja a LilyPond nyelvét, és elmagyarázza,
hogyan kell nyomtatható kottát előállítani.

@menu
* Fájlok fordítása::
* Bemeneti fájlok írása::
* Hibák kezelése::
* Hogyan olvassuk a dokumentációt?::
@end menu

@node Fájlok fordítása
@section Fájlok fordítása
@translationof Compiling a file

@cindex fordítás
@cindex első példa
@cindex kis- és nagybetűk különbsége

A LilyPond bemeneti fájljai egyszerű szöveges állományok.
Egy kotta létrehozásához egy bemeneti fájlban (másnéven forrásfájlban) kell
azt szöveges formában leírni.
@qq{Fordítás} a neve annak a folyamatnak, melynek során egy LilyPond
formátumú forrásfájlból egy nyomtatható kotta és (szabadon választhatóan)
egy meghallgatható MIDI fájl áll elő.

Első példánk megmutatja, hogy néz ki egy egyszerű bemenet. A LilyPond
forrásfájlba ezt írva:

@example
\version "@w{@version{}}"
@{
  c' e' g' e'
@}
@end example

@noindent
az alábbi eredményt kapjuk:

@c  in this case we don't want verbatim
@lilypond[quote]
{
  c' e' g' e'
}
@end lilypond

@warning{A LilyPondban a hangok és a dalszöveg köré mindig
@strong{@{ kapcsos zárójeleket @}} kell írni.
A kapcsos zárójeleket legtöbbször szóközzel vesszük körül, hacsak
a sor elején vagy végén nem állnak, hogy környezetükkel ne folyjanak
egybe, így kétértelműséget okozván. A tankönyv példáiban olykor a
rövidség kedvéért elhagyjuk a kapcsos zárójeleket, de a forrásfájlokban
nem szabad elfelejteni kitenni őket! A @ref{Hogyan olvassuk a dokumentációt?}
c. fejezetben olvasható több információ a tankönyv példáiról és megjelenítésük
módjáról.}

Továbbá a LilyPond bemenete @strong{érzékeny a kis- és nagybetűk különbségére}:
@w{@code{@{ c d e @}}} érvényes bemenet; @w{@code{@{ C D E @}}} hibát
eredményez.



@node Bemeneti fájlok írása
@section Bemeneti fájlok írása
@translationof How to write input files

@menu
* Egyszerű kottázás::
* A bemeneti fájlok jellemzői::
@end menu

@node Egyszerű kottázás
@subsection Egyszerű kottázás
@translationof Simple notation

@cindex egyszerű lejegyzés
@cindex lejegyzés, egyszerű

@menu
* Hangmagasság::
* Ritmusérték::
* Szünetek::
* Ütemmutató::
* Tempójelzés::
* Kulcs::
* Mindez együtt::
@end menu

A LilyPond bizonyos elemeket automatikusan hozzáad a kottához. A következő
példában csak négy hangmagasságot adunk meg, de a LilyPond kirakja a kulcsot
és az ütemmutatót, valamint a hangok hosszúságát alapértelmezetten negyednek
veszi.

@lilypond[verbatim,quote]
{
  c' e' g' e'
}
@end lilypond

@noindent
Természetesen minden megváltoztatható, de a legtöbb esetben az alapbeállítás
megfelelő.

@node Hangmagasság
@unnumberedsubsubsec Hangmagasság
@translationof Pitches

@cindex hangmagasság
@cindex relatív mód
@cindex aposztróf
@cindex vessző
@cindex módosítójelek és relatív mód

@funindex \relative
@funindex '
@funindex ,

Fogalomtár: @rglos{pitch}, @rglos{interval},
@rglos{scale}, @rglos{middle C}, @rglos{octave},
@rglos{accidental}.

A hangok beírásának legegyszerűbb módja a @code{\relative} mód.
Ebben a módban minden hang automatikusan abba az oktávba kerül,
melyben az előző hanghoz a legközelebb áll, vagyis legfeljebb
kvárt távolságra. Ennek szemléltetésére gépeljünk be egy zenei alapformulát,
egy @notation{skálát}, melyben minden hang szekund távolságra van az
előzőtől. (Figyelem: mivel angolul a h hang neve b, ezért a LilyPond forrásban
is alapesetben b-t kell írni h helyett!)

@c KEEP LY
@lilypond[verbatim,quote]
% megadjuk, hogy az első viszonyítási hang az egyvonalas c legyen
\relative {
  c' d e f
  g a b c
}
@end lilypond

Itt a relatív mód első viszonyítási hangja az @notation{egyvonalas c}. Minden
hang az előzőhöz a lehető legközelebb helyezkedik el: az első @code{c} az
egyvonalas c-hez legközelebb eső c hangot jelenti, vagyis az egyvonalas c-t.
A második, d hang ehhez a hanghoz esik legközelebb, vagyis ugyanúgy az
egyvonalas oktávba kerül.
Legfeljebb kvárt nagyságú hangközöket tartalmazó dallamok táplálhatók be így a
legegyszerűbben.

@lilypond[verbatim,quote]
\relative {
  d' f a g
  c b f d
}
@end lilypond

@noindent
Természetesen nem szükséges, hogy a relatív mód első viszonyítási hangja
megegyezzen a tényleges első hanggal, ahogy az előző példában is láttuk, ahol
az első hang -- a @code{d} -- az egyvonalas c-hez legközelebb eső hang,
az egyvonalas d.

A @code{@w{\relative c'}} parancsban megadott első viszonyítási hanghoz
@code{'} vagy @code{,} karaktereket hozzáadva vagy elvéve
változtatható a kezdőoktáv:

@c KEEP LY
@lilypond[verbatim,quote]
% kétvonalas oktáv
\relative {
  e'' c a c
}
@end lilypond

A relatív mód kezdetben bonyolultnak tűnhet, de valójában a legtöbb
dallamot így lehet legkönnyebben bevinni. Nézzük, hogyan néz ki a relatív
hangmagasság-számítás a gyakorlatban. A h hangról egy kvárton belül felfelé
a c, d és e hangok helyezkednek el, míg lefelé az a, g és f hangok. Tehát ha
egy h-t követő hang c, d vagy e, akkor a h fölé, míg ha a, g vagy f, akkor a
h alá kerül.

@lilypond[verbatim,quote]
\relative {
  b' c  % felfelé szekund, lefelé szeptim, így: felső c
  b d  % felfelé terc, lefelé szext, így: felső d
  b e  % felfelé kvárt, lefelé kvint, így: felső e
  b a  % felfelé szeptim, lefelé szekund, így: alsó a
  b g  % felfelé szext, lefelé terc, így: alsó g
  b f  % felfelé kvint, lefelé kvárt, így: alsó f
}
@end lilypond

Pontosan ugyanez marad a működés, ha bármelyik hang előtt kereszt vagy bé áll.
A @notation{módosítójelek} a relatív magasságszámítás során @strong{egyáltalán
nem számítanak}. A számítás során csak a vonalrendszerben elfoglalt pozíciónak
(azaz a diatonikus magasságnak) van szerepe.

Kvártnál nagyobb hangközugrást úgy érhetünk el, hogy @code{'} vagy @code{,}
karaktereket helyezünk a hang után. Az @code{'} egy @notation{oktáv}nyi
emelkedést, a @code{,} egy oktávnyi süllyedést jelent.

@lilypond[verbatim,quote]
\relative {
  a' a, c' f,
  g g'' a,, f'
}
@end lilypond

@noindent
Amennyi karaktert használunk, annyi oktáv különbséget érhetünk el, pl.
@code{''} vagy @code{,,} két oktávnyi emelést, ill. süllyesztést jelent --
de vigyázzunk, soha ne használjunk idézőjelet (@code{"}) két aposztróf
(@code{''}) helyett! Ez ugyanaz a mechanizmus, amivel a relatív mód első
viszonyítási hangját módosíthatjuk.


@node Ritmusérték
@unnumberedsubsubsec Ritmusérték
@translationof Durations (rhythms)

@cindex hanghosszúság
@cindex hosszúság
@cindex ritmus
@cindex egészkotta
@cindex félkotta
@cindex negyedkotta
@cindex pontozás
@cindex hosszúság jelzése

Fogalomtár: @rglos{beam}, @rglos{duration},
@rglos{whole note}, @rglos{half note}, @rglos{quarter note},
@rglos{dotted note}.

A hangok @notation{ritmusértékét} a hangmagasság után írt számmal
határozhatjuk meg. @code{1} jelenti az egészkottát, @code{2} a
félkottát, @code{4} a negyedkottát és így tovább. A
@notation{gerendázást} automatikusan elvégzi a LilyPond.

Ha nincs megadva a hosszúság, az előző hang hossza marad érvényben.
Az első hang alapértelmezetten negyed hosszúságú.

@lilypond[verbatim,quote]
\relative {
  a'1
  a2 a4 a8 a
  a16 a a a a32 a a a a64 a a a a a a a a2
}
@end lilypond

A @notation{pontozott hangok} után annyi pontot (@code{.}) kell írni,
ahányszoros a pontozás. A pontozott hangok ritmusértékét mindig meg kell
adni számmal.

@lilypond[verbatim,quote]
\relative {
  a' a a4. a8
  a8. a16 a a8. a8 a4.
}
@end lilypond

@node Szünetek
@unnumberedsubsubsec Szünetek
@translationof Rests

@cindex szünet
@cindex szünet jelzése

Fogalomtár: @rglos{rest}.

A @notation{szünetek} megadása hasonlóképpen történik, mint a hangoké,
csak a hangmagasság megjelölése helyett @code{r}@tie{} betűt kell írni:

@lilypond[verbatim,quote]
\relative {
  a' r r2
  r8 a r4 r4. r8
}
@end lilypond


@node Ütemmutató
@unnumberedsubsubsec Ütemmutató
@translationof Time signature

@cindex ütemmutató

@funindex \time

Fogalomtár: @rglos{time signature}.

Az @notation{ütemmutató} beállítására a @code{\time} parancs szolgál:

@lilypond[verbatim,quote]
\relative {
  \time 3/4
  a'4 a a
  \time 6/8
  a4. a
  \time 4/4
  a4 a a a
}
@end lilypond

@node Tempójelzés
@unnumberedsubsubsec Tempójelzés
@translationof Tempo marks

@cindex tempójelzés
@cindex metronómjelzés

@funindex \tempo

Fogalomtár: @rglos{tempo indication}, @rglos{metronome}.

Az @notation{tempójelzés} és @notation{metronómjelzés}
a @code{\tempo} parancs segítségével álítható be:

@lilypond[verbatim,quote]
\relative c'' {
  \time 3/4
  \tempo "Andante"
  a4 a a
  \time 6/8
  \tempo 4. = 96
  a4. a
  \time 4/4
  \tempo  "Presto" 4 = 120
  a4 a a a
}
@end lilypond



@node Kulcs
@unnumberedsubsubsec Kulcs
@translationof Clef

@cindex kulcs
@cindex violinkulcs
@cindex altkulcs
@cindex tenorkulcs
@cindex basszuskulcs

@funindex \clef

Fogalomtár: @rglos{clef}.

A @notation{kulcs} beállítása a @code{\clef} paranccsal lehetséges:

@lilypond[verbatim,quote]
\relative {
  \clef treble
  c'1
  \clef alto
  c1
  \clef tenor
  c1
  \clef bass
  c1
}
@end lilypond


@node Mindez együtt
@unnumberedsubsubsec Mindez együtt
@translationof All together

Alább látható egy rövid példa, mely az eddig tanult elemeket mutatja be:

@lilypond[verbatim,quote]
\relative {
  \clef "bass"
  \time 3/4
  \tempo "Andante" 4 = 120
  c,2 e8 c'
  g'2.
  f4 e d
  c4 c, r
}
@end lilypond


@morerefs
Referencia: @ruser{Writing pitches},
@ruser{Writing rhythms}, @ruser{Writing rests},
@ruser{Time signature}, @ruser{Clef}.


@node A bemeneti fájlok jellemzői
@subsection A bemeneti fájlok jellemzői
@translationof Working on input files

@cindex kapcsos zárójelek
@cindex megjegyzés
@cindex egysoros megjegyzés
@cindex többsoros megjegyzés
@cindex kis- és nagybetűk különbsége
@cindex kifejezések
@cindex verzió
@cindex verziószám

@funindex \version
@funindex { ... }
@funindex %
@funindex %@{ ... %@}

A LilyPond bemeneti fájljai sok tekintetben hasonlítanak a programkódokhoz.
Tartalmaznak verziószámot, érzékenyek a kis- és nagybetűk különbségére, az üres helyek (szóközök, újsorok,
tabulátorok stb.) pedig nem számítanak. Ún. kifejezéseket lehet alkotni
kapcsos zárójelek @{ @} segítségével, megjegyzéseket pedig @code{%} után
vagy @w{@code{%@{ ... %@}}} közé lehet írni.

Ha esetleg nem lennének világosak a fenti mondatok, sebaj! Magyarázatuk
részletesen a következő:

@itemize


@item
@strong{Verzió kezelés}:
Minden LilyPond fájlnak tartalmaznia kell egy verziószámot. Ez a verziószám
írja le azt, hogy az adott fájl a LilyPond melyik verziójával készült.
A verziószámot az alábbi módon adhatjuk meg:

@example
\version "@w{@version{}}"
@end example

A verziószámot a LilyPond fájl elején szokás megadni.

A verzió megadásának két fontos oka van. Az első az, hogy lehetővé teszi, hogy
a bemeneti fájl automatikusan frissüljön, amikor a LilyPond szintakszisa (nyelve) változik.
Másodsorban a fájlból í]y kiderül, hogy milyen verziójú LilyPond szükséges a fordításához.

Ha a verziószám hiányzik a bemeneti fájlból, a LilyPond fordításkor figyelmeztető üzenetet ír ki.

@item
@strong{Verzió kezelés}:
Minden LilyPond fájlnak tartalmaznia kell egy verziószámot. Ez a verziószám
írja le azt, hogy az adott fájl a LilyPond melyik verziójával készült.
A verziószámot az alábbi módon adhatjuk meg:

@example
\version "@w{@version{}}"
@end example

A verziószámot a LilyPond fájl elején szokás megadni.

A verzió megadásának két fontos oka van. Az első az, hogy lehetővé teszi, hogy
a bemeneti fájl automatikusan frissüljön, amikor a LilyPond szintakszisa (nyelve) változik.
Másodsorban a fájlból így kiderül, hogy milyen verziójú LilyPond szükséges a fordításához.

Ha a verziószám hiányzik a bemeneti fájlból, a LilyPond fordításkor figyelmeztető üzenetet ír ki.

@item
@strong{Érzékeny a kis- és nagybetűk különbségére}:
nem mindegy, hogy kisbetűket vagy nagybetűket használunk
(pl. @w{@code{a, b, s, t}} nem ugyanaz, mint @w{@code{A, B, S, T}}).
A hangneveket mindig kisbetűvel kell írni: @w{@code{@{ c d e @}}}
helyes, @w{@code{@{ C D E @}}} hibás bemenet.

@item
@strong{Az üres helyek nem számítanak}:
mindegy, hogy hova hány szóköz, tabulátor vagy újsor kerül.
@w{@code{@{ c d e @}}} ugyanazt jelenti, mint
@w{@code{@{ c @tie{} @tie{} @tie{} d e @}}} vagy:

@example
@{ c                        d
                   e   @}
@end example

@noindent
Természetesen ez így nehezen olvasható. Érdemes a blokkokat beljebb kezdeni
egy tabulátorral vagy két szóközzel:

@example
@{
  c4 d e
@}
@end example

Azonban az üres helyek @emph{szükségesek}, hogy a nyelv elemeit elkülönítsük.
Más szavakkal: üres helyeket @emph{adhatunk} hozzá, de nem mindig @emph{hagyhatunk el}.
Mivel hiányzó üres helyek furcsa hibákhoz vezethetnek, ajánlott minden nyelvi elem elé
és mögé beilleszteni egyet, például minden kapcsos zárójel elé és mögé.

@item
@strong{Kifejezések}:
a LilyPond bemenete @strong{@{ kapcsos zárójelek @}} között álló @emph{zenei
kifejezésekből} épül fel (ezekről később lesz szó), akárcsak a zárójelek
@code{()} közé zárt matematikai kifejezések. A kapcsos zárójelek köré javasolt
szóközt tenni, hacsak nem a sor elején vagy végén szerepelnek.

Egy @code{\} karakterrel kezdődő LilyPond parancs az azt követő kapcsos
zárójelpár tartalmával együtt ugyancsak egy zenei kifejezésnek számít (mint
például a @q{@w{@code{\relative @{ @dots{} @}}}}).

@cindex megjegyzések
@cindex egysoros megjegyzés
@cindex többsoros megjegyzés
@item
@strong{Megjegyzések}:
a megjegyzések az emberi olvasó számára írt útmutatók; a LilyPond ezeket
figyelmen kívül hagyja, így nem jelennek meg a kimenetben. Kétfajta megjegyzés
van. A százalékjel @code{%} egy olyan megjegyzést kezd, mely a sor végéig tart.
Egy egysoros megjegyzés mindig az @emph{utána levő} sorral kapcsolatos.

@example
a4 a a a
% most jön a két h hang
b2 b
@end example

A többsoros megjegyzés (megjegyzésblokk) több sort is közrefoghat.
A @code{%@{} és @code{%@}} jelek között minden megjegyzésnek számít.
Figyelem, a megjegyzésblokkok nem ágyazhatóak egymásba! Ez azt
jelenti, hogy nem lehet egy megjegyzésblokkot egy másikon belülre tenni,
mert az első @code{%@}} jelnél véget ér @emph{mindkét} megjegyzésblokk.
A következő részlet a megjegyzések használatára mutat példát:

@example
% Ez itt a "Hull a pelyhes fehér hó" dallama
  c4 c g' g a a g2

%@{
  Ez a sor és az alatta levők nem számítanak bele a kimenetbe,
  mert megjegyzésblokkban szerepelnek.

  f f e e d d c2
%@}
@end example

@end itemize


@node Hibák kezelése
@section Hibák kezelése
@translationof Dealing with errors

@cindex troubleshooting

Sometimes LilyPond doesn't produce the output you expect.  This
section provides some links to help you solve the problems you
might encounter.


@menu
* General troubleshooting tips::
* Some common errors::
@end menu

@node General troubleshooting tips
@subsection General troubleshooting tips

Troubleshooting LilyPond problems can be challenging for
people who are used to a graphical interface, because invalid
input files can be created.  When this happens, a logical approach
is the best way to identify and solve the problem.  Some guidelines
to help you learn to do this are provided in @rprogram{Troubleshooting}.


@node Some common errors
@subsection Some common errors

@cindex common errors
@cindex errors, common

There are a few common errors that are difficult to troubleshoot
based simply on the error messages that are displayed.  These are
described in @rprogram{Common errors}.



@node Hogyan olvassuk a dokumentációt?
@section Hogyan olvassuk a dokumentációt?
@translationof How to read the manuals

@menu
* Kapcsos zárójelek elhagyása::
* Kattintható példák::
* A dokumentáció áttekintése::
@end menu

@node Kapcsos zárójelek elhagyása
@subsection Kapcsos zárójelek elhagyása
@translationof Omitted material

@cindex hogyan olvassuk a kézikönyvet
@cindex kézikönyv
@cindex példák
@cindex sablonok
@cindex tippek

A LilyPond bemenete vagy @code{@{ @}} jelek között, vagy pedig egy
@q{@w{@code{\relative @{ @dots{} @}}}} blokkban kell, hogy álljon, ahogy azt a
@ref{A bemeneti fájlok jellemzői} c. fejezetben láttuk.
A tankönyv további részében a legtöbb példában ezt elhagyjuk. A példák
kipróbálásához a kimenet kimásolható és beilleszthető, de mindig köré
@strong{kell} rakni a @code{@{ @}} blokkot, ha nem szerepel benne:

@example
@{
   @dots{}a példa ide kerül@dots{}
@}
@end example

Emellett ne felejtsük el, hogy minden LilyPond fájlban fel kell tüntetni a @code{\version}számot is.
Mivel a kézikönyv példái csak kódrészletek, nem fájlok, nem tartalmazzák a @code{\version}számot,
de mi ne feledkezzünk el feltüntetni a fájlok elején.

@node Kattintható példák
@subsection Kattintható példák
@translationof Clickable examples

A legtöbb ember úgy tanul bele egy program használatába, hogy a gyakorlatban
próbálgatja azt, és játszadozik vele. Ez a LilyPonddal is lehetséges.
A kézikönyv HTML változatában bármelyik képre kattintva megtekinthető a pontos
bemenet, amelyből a LilyPond a képet generálta. Ez az alábbi példán
kipróbálható:

@c no verbatim here
@lilypond[quote]
\relative {
  c''4-\markup { \bold \huge { Click here. } }
}
@end lilypond

A @qq{ly snippet} kezdetű szakasz kimásolásával és beillesztésével már
rendelkezésre áll egy kiindulópont a kísérletezéshez. A kép egy az egyben
előáll (ugyanakkora méretben), ha a @qq{Start cut-&-pastable section}
résztől kezdve a fájl végéig kimásoljuk a szöveget.



@ignore
This is item 825

@n ode Keyboard navigation
@s ubsection Keyboard navigation

@warning{Ez a lehetőség csak a HTML kézikönyvben elérhető,}

@c TODO: once this is figured out, insert it here.

We are currently working on this feature.
@end ignore

@node A dokumentáció áttekintése
@subsection A dokumentáció áttekintése
@translationof Overview of manuals

A LilyPondhoz nagyon sok dokumentáció áll rendelkezésre.
Az új felhasználóknak emiatt gyakran nem világos, hogy mely részeket
kell elolvasniuk, és olykor alapvető fontosságú részeket hagynak ki.

@warning{A dokumentáció fontos részeit erősen ajánlott elolvasni, különben
a későbbi részek megértése jóval nehezebb lesz.}

@itemize

@item
@strong{@emph{Legelőször is}}: a tankönyvből az @ref{Első lecke}, majd az
@ref{Elemi kottaírás} fejezeteket kell elolvasni. Amennyiben egy zenei
fogalom jelentése nem világos, a @rglosnamed{Top, Zenei fogalomtárban} lehet
megkeresni.

@item
@strong{Egy teljes darab írása előtt}: a tankönyv @ref{Alapfogalmak} c.
fejezetét javasolt elolvasni. Ezután a
@rusernamed{Top, Kottaírás kézikönyvében} lehet az előforduló kottaelemek
beviteli módját megnézni.

@item
@strong{Az alapértelmezett kimenet megváltoztatása előtt}:
@ref{A kimenet finomhangolása} olvasandó el.

@item
@strong{Egy nagy mű bevitele előtt}: a program használatának kézikönyvéből a
@rprogramnamed{Suggestions for writing files, Tanácsok LilyPond bemeneti fájlok írásához}
c. fejezetet érdemes elolvasni.

@end itemize
