[ << convert-ly を使ってファイルを更新する ] | [Top][Contents][Index] | [ lilypond-book を実行する >> ] |
[ < convert-ly の問題点 ] | [ Up : convert-ly を使ってファイルを更新する ] | [ 複数のバージョンに対応するコードを書く > ] |
2.5 手動変換
理論的には、convert-ly
のようなプログラムはすべての構文変更を処理できます。
After all, a computer program interprets the old
version and the new version, so another computer program can
translate one file into another2.
しかしながら、LilyPond プロジェクトの資源には限りがあり、すべての変換を自動化することはできません。以下は既知の問題のリストです。
1.6->2.0: Doesn't always convert figured bass correctly, specifically things like {< >}. Mats' comment on working around this: To be able to run convert-ly on it, I first replaced all occurrences of '{<' to some dummy like '{#' and similarly I replaced '>}' with '&}'. After the conversion, I could then change back from '{ #' to '{ <' and from '& }' to '> }'. Doesn't convert all text markup correctly. In the old markup syntax, it was possible to group a number of markup commands together within parentheses, e.g. -#'((bold italic) "string") This will incorrectly be converted into -\markup{{\bold italic} "string"} instead of the correct -\markup{\bold \italic "string"} 2.0->2.2: Doesn't handle \partCombine Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple stanzas. 2.0->2.4: \magnify isn't changed to \fontsize. - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2) remove-tag isn't changed. - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . . first-page-number isn't changed. - first-page-number no => print-first-page-number = ##f Line breaks in header strings aren't converted. - \\\\ as line break in \header strings => \markup \center-align < "First Line" "Second Line" > Crescendo and decrescendo terminators aren't converted. - \rced => \! - \rc => \! 2.2->2.4: \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly converted. 2.4.2->2.5.9 \markup{ \center-align <{ ... }> } should be converted to: \markup{ \center-align {\line { ... }} } but now, \line is missing. 2.4->2.6 Special LaTeX characters such as $~$ in text are not converted to UTF8. 2.8 \score{} must now begin with a music expression. Anything else (particularly \header{}) must come after the music.
Footnotes
(2)
At least, this is possible in any LilyPond file which does not contain scheme. If there is scheme in the file, then the LilyPond file contains a Turing-complete language, and we run into problems with the famous “Halting Problem” in computer science.
[ << convert-ly を使ってファイルを更新する ] | [Top][Contents][Index] | [ lilypond-book を実行する >> ] |
[ < convert-ly の問題点 ] | [ Up : convert-ly を使ってファイルを更新する ] | [ 複数のバージョンに対応するコードを書く > ] |