1 @c -*- coding: utf-8; mode: texinfo; -*-
4 Translation of GIT committish: 0764a50d470cab82ca29da30298dacd333d3da12
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes.
13 @c Translators: Pavel Fric
16 @node Aktualizace souborů pomocí convert-ly
17 @chapter Aktualizace souborů pomocí @command{convert-ly}
18 @translationof Updating files with convert-ly
20 @cindex Aktualizace souboru LilyPond
23 Vstupní skladba LilyPondu je vždy znovu měněna kvůli zjednodušení
24 nebo různým vylepšením a vývoji.
25 Vedlejší účinek toho je ale, že LilyPond často nadále nedokáže správně zpracovat
26 starší vstupní soubory. Aby tento problém obešel, může program
27 používat @command{convert-ly}, který zvládá většinu změn ve skladbě
28 mezi různými verzemi LilyPondu.
31 * Proč se mění skladba?::
32 * Vyvolání convert-ly::
33 * Volby příkazového řádku pro convert-ly::
34 * Potíže s convert-ly::
39 @node Proč se mění skladba?
40 @section Proč se mění skladba?
41 @translationof Why does the syntax change?
44 @cindex Aktualizace starých vstupních souborů
45 @cindex Obnova starých vstupních souborů
47 Vstupní skladba LilyPondu se čas od času mění.
48 Když je program LilyPond zlepšen, je odpovídajícím způsobem
49 přizpůsobena i skladba (zadávací jazyk). Některé změny dělají
50 vstupní text snadnější pro zápis a ke čtení,
51 jiné do LilyPondu přinášejí nové vlastnosti.
53 Například všechny názvy vlastností @code{\paper} a @code{\layout}
54 se mají zapisovat ve tvaru @code{první-druhá-třetí}. Ve
55 verzi 2.11.60 si však všímáme, že vlastnost
56 @code{printallheaders} se tohoto pravidla nedrží.
57 Měli bychom to tak teď nechat (díky čemuž budou noví uživatelé zmateni, protože
58 se musí vyrovnat se vstupním formátem, který není logický), nebo bychom to měli změnit (čímž
59 naštveme staré uživatele s jejich již napsanými notovými zápisy)?
60 V tomto případě jsme se rozhodli, že změníme název v
61 @code{print-all-headers}. Naštěstí může být tato změna zautomatizována
62 naším nástrojem @command{convert-ly}.
65 Bohužel si @code{convert-ly} neporadí se všemi změnami ve skladbě.
66 Například v LilyPondu 2.4 a dřívějších byly přízvuky a neanglická písmena
67 v jiných jazycích zadávány příkazy LaTeXu -- tak například německé Änderung
68 (změna) bylo zapsáno jako @code{\"Anderung}, nebo v případě zobrazení
69 francouzského slova pro Vánoce bylo zadáno @code{No\"el}. Od verze 2.6
70 se ale musí přízvuky a zvláštní znaky za zapsat
71 přímo jako znak UTF-8. @code{convert-ly} nedokáže převést všechny
72 znaky LaTeXu, takže se musí kvůli aktualizaci starých souborů LilyPond převzít ručně.
75 @node Vyvolání convert-ly
76 @section Vyvolání @command{convert-ly}
77 @translationof Invoking convert-ly
79 @command{convert-ly} používá příkaz @code{\version} pro zjištění čísla
80 staré verze LilyPondu ve vstupním souboru. Ve většině případů jednoduše stačí
81 napsat v příkazovém řádku
84 convert-ly -e můjsoubor.ly
88 v adresáři, v němž soubor leží. Tím je
89 @file{můjsoubor.ly} přímo zaktualizován a původní soubor zachován v
92 @warning{@command{convert-ly} vždy převádí až po poslední změnu ve skladbě,
93 kterou program zvládá. To znamená, že číslo @code{\version},
94 které v souboru stojí po převodu, je obvykle nižší než
95 verze samotného @command{convert-ly}.}
97 Pro převod všech souborů v adresáři se v příkazovém řádku
104 Převedenému souboru lze rovněž určit jiný název, takže původní
105 soubor zůstane nezměněn. K tomu se v příkazovém řádku napíše
108 convert-ly můjsoubor.ly > můjnovýsoubor.ly
111 Program sestaví seznam s čísly všech verzí, pro které byl převod
112 proveden. Pokud nejsou vypsána žádná čísla verzí, je soubor
115 Uživatelé MacOS@tie{}X mohou příkazy spouštět přes položku nabídky
116 @code{Compile > Update syntax}.
118 Uživatelé Windows by tyto příkazy měli spouštět v příkazovém okně,
119 které se obvykle nachází pod @code{Start > Příslušenství > Příkazy}.
122 @node Volby příkazového řádku pro convert-ly
123 @section Volby příkazového řádku pro @command{convert-ly}
124 @translationof Command line options for convert-ly
126 Program je vyvolán následujícím způsobem:
129 convert-ly [@var{volba}]@dots{} @var{souborovýnázev}@dots{}
132 Mohou se používat následující volby:
136 Použít převod přímo na vstupní soubor, takže je přímo změněn.
138 @item -f, --from=@var{od-čísloverze}
139 Nastavuje číslo verze, od kterého má převod začít. Když
140 tato volba není použita, odhadne @command{convert-ly} číslo verze
141 na základě údaje o @code{\version} v souboru. Například
142 @code{--from=2.10.25}
144 @item -n, --no-version
145 Obvykle do výstupu @command{convert-ly} přidá záznam @code{\version}
146 k převáděnému souboru. Zadání této volby povede k potlačení tohoto chování.
148 @item -s, --show-rules
149 Ukázat všechny známé převody a ukončit.
151 @item --to=@var{po-čísloverze}
152 Nastavit cílovou verzi převodu. Výchozí je poslední možná verze,
153 kterou program zvládá. Například @code{--to=2.12.2}
156 Ukázat nápovědu k použití.
159 K aktualizaci úryvků LilyPondu v souborech texinfo lze použít
162 convert-ly --from=... --to=... --no-version *.itely
168 Pro zobrazení změn ve skladbě LilyPondu mezi dvěma verzemi se
172 convert-ly --from=... --to=... -s
176 @node Potíže s convert-ly
177 @section Probleme mit @code{convert-ly}
178 @translationof Problems running convert-ly
180 Když se @command{convert-ly} používá v příkazovém okně ve Windows
181 na souboru, který má v názvu souboru nebo v cestě k němu mezery,
182 musí se celý název souboru obklopit třemi (!) dvojitými
186 convert-ly """D:/My Scores/Ode.ly""" > "D:/My Scores/new Ode.ly"
189 Když jednoduchý příkaz @command{convert-ly -e *.ly} nepracuje,
190 protože je rozepsaný příkazový řádek příliš dlouhý, je také možné
191 @command{convert-ly} nechat běžet opakovaně ve smyčce. Tento
192 příklad pro UNIX převede všechny soubory @file{-ly} v nynějším
196 for f in *.ly; do convert-ly -e $f; done;
199 Pro příkazové okno ve Windows zní odpovídající příkaz takto:
202 for %x in (*.ly) do convert-ly -e """%x"""
205 Ne všechny změny ve skladbě jsou převáděny. Lze zadat jen volbu pro
206 výstup. Automatická aktualizace Scheme a kódu Scheme v LilyPondu
207 je celkem nepravděpodobná, velice pravděpodobně se zde musí provést
212 @section Ruční převod
213 @translationof Manual conversions
215 Teoreticky by mohl program jako @command{convert-ly} zvládnout všechny
216 změny ve skladbě. Konečně je to počítačový program, který vykládá
217 starou a novou verzi souboru s notovým zápisem, takže jiný počítačový program
218 by mohl přeložit jeden soubor do druhého.@footnote{To je každopádně možné u každého souboru LilyPond,
219 který neobsahuje Scheme. Když bylo v souboru použito Scheme,
220 potom takový soubor obsahuje úplný Turingův jazyk a my se tím dostáváme
221 do potíží se slavným @qq{Zastavovacím problémem} informatiky.}
223 Nicméně projekt LilyPond má omezené prostředky, počet členů jeho družstva je
224 malý, takže ne všechny převody pracují automaticky. Dole je seznam známých potíží:
229 Číslovaný bas není vždy převeden správně, obzvláště věci jako {<
230 >}. Matovy poznámky k řešení:
231 To be able to run convert-ly
232 on it, I first replaced all occurrences of '{<' to some dummy like '{#'
233 and similarly I replaced '>}' with '&}'. After the conversion, I could
234 then change back from '{ #' to '{ <' and from '& }' to '> }'.
235 Ne všechny textové popisy jsou vždy převeden správně. Ve staré skladbě
236 šlo seskupit více popisů závorkami, například:
237 -#'((bold italic) "string")
238 Toto je nesprávně převáděno na:
239 -\markup{{\bold italic} "string"}
241 -\markup{\bold \italic "string"}
243 Nerozumí \partcombine
244 Nedělá \addlyrics => \lyricsto, takže některé soubory s mnoha slokami nepracují
246 \magnify není změněno na \fontsize.
247 - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2)
248 remove-tag není změněn.
249 - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
250 first-page-number není změněn.
251 - first-page-number no => print-first-page-number = ##f
252 Zalomení řádků v hlavičkách nejsou převedeny.
253 - \\\\ jako zalomení řádku v polích \header => \markup \center-align <
254 "První řádek" "Druhý řádek" >
255 Koncové body pro crescendo a decrescendo-Endpunkte nejsou převedeny.
259 \turnOff (použito v \set Staff.VoltaBracket = \turnOff) není převeden správně
261 \markup{ \center-align <{ ... }> } by měl být převeden na:
262 \markup{ \center-align {\line { ... }} }
263 nyní ale chybí \line.
265 Zvláštní LaTeXové znaky jako $~$ v textu nejsou převedeny na UTF-8.
267 \score{} nyní musí vždy začínat hudebním výrazem. Všechno ostatní
268 (obzvláště \header{}) smí přijít teprve po notách.